Jak uzyskać MD5 hash w Perl

Zadanie. W Perlu kodzie jest zmienna. Trzeba obliczyć MD5 hash od wartości tej zmiennej.

Rozwiązanie

Rozwiązanie — użyć Perl biblioteki Digest::MD5. Biblioteka Digest::MD5 idzie w parze z Perl, więc jeśli masz Perl, to ta biblioteka jest dostępna raz, dodatkowo nic instalować nie trzeba.

Zobacz MD5 hash można za pomocą takiego kodu:

▶ Run
#!/usr/bin/perl

use Digest::MD5 qw(md5_hex);

my $var = 123;

my $md5_hash = md5_hex($var);

print $md5_hash;

Ten program wypisze na ekran ciąg '202cb962ac59075b964b07152d234b70'.

  • use Digest::MD5 qw(md5_hex); — podłączamy Perl biblioteki i mówimy, że z tej biblioteki potrzebujemy funkcja md5_hex
  • my $var = 123; — stworzyliśmy zmienną i umieścić tam wartość 123
  • my $md5_hash = md5_hex($var); — za pomocą funkcji md5_hex . liczymy MD5 hash od wartości zmiennej $var i umieścić wynik w zmiennej $md5_hash
  • print $md5_hash; — wyprowadzili wartość zmiennej $md5_hash na ekran

Jeśli po podłączeniu biblioteki nie określić, że potrzebujemy funkcja md5_hex, a po prostu napisz do use Digest::MD5;, to po uruchomieniu programu zostanie błąd:

Undefined subroutine &main::md5_hex called at a.pl line 7.

Format zwracanej wartości funkcji md5_hex

Funkcja md5_hex zawsze zwraca ciąg znaków. W tym wierszu jest zawsze dokładnie 32 znaki. W tym wierszu mogą być cyfry od 0 do 9 i małych liter od 'a' do 'f'. Inne znaki w tym wierszu nie może być.

Funkcja md5_hex zwraca MD5 w formie wiersza, w którym zawiera liczbę w systemie szesnastkowym.

Inne artykuły