Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/
Zadanie. W Perlu kodzie jest zmienna. Trzeba obliczyć SHA1 hash od wartości tej zmiennej.
Zadanie. W Perlu kodzie jest zmienna. Trzeba obliczyć SHA1 hash od wartości tej zmiennej.
Rozwiązanie — użyć Perl biblioteki Digest::SHA
.
Biblioteka Digest::SHA
idzie w parze z Perl, więc jeśli masz Perl, to ta biblioteka jest dostępna raz, dodatkowo nic instalować nie trzeba.
Zobacz SHA1 hash można za pomocą takiego kodu:
#!/usr/bin/perl
use Digest::SHA qw(sha1_hex);
my $var = 123;
my $sha1_hash = sha1_hex($var);
print $sha1_hash;
Ten program wypisze na ekran ciąg '40bd001563085fc35165329ea1ff5c5ecbdbbeef'
.
use Digest::SHA qw(sha1_hex);
— podłączamy Perl biblioteki i mówimy, że z tej biblioteki potrzebujemy funkcja sha1_hex
my $var = 123;
— stworzyliśmy zmienną i umieścić tam wartość 123
my $sha1_hash = sha1_hex($var);
— za pomocą funkcji sha1_hex
. liczymy SHA1 hash od wartości zmiennej $var
i umieścić wynik w zmiennej $sha1_hash
print $sha1_hash;
— wyprowadzili wartość zmiennej $sha1_hash
na ekran
Jeśli po podłączeniu biblioteki nie określić, że potrzebujemy funkcja sha1_hex
, a po prostu napisz do use Digest::SHA;
, to po uruchomieniu programu zostanie błąd:
Undefined subroutine &main::sha1_hex called at script.pl line 7.
sha1_hex
Funkcja sha1_hex
zawsze zwraca ciąg znaków. W tym wierszu jest zawsze dokładnie 40 znaków. 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 sha1_hex
zwraca SHA1 w formie wiersza, w którym zawiera liczbę w systemie szesnastkowym.
Digest::SHA
jest dostępna raz
Na początku tego tekstu jest napisane, że biblioteka Digest::SHA
jest dostarczany wraz z Perl i jeśli masz Perl, to ta biblioteka raz
jest dostępna. Właściwie to nie do końca prawda. Biblioteka Digest::SHA
po raz pierwszy pojawiła się w Perl w wersji 5.10. Więc jeśli masz Perl
w wersji 5.8 lub poniżej tej biblioteki należy umieścić dodatkowo. Ale jeszcze lepiej zaktualizować Perl na bardziej świeże. Perl 5.8 ukazał się w 2002 roku.