Moduł Digest::SHA1

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Co to jest

Moduł ten pozwala na użycie algorytmu SHA-1 w programach perla. Algorytm ten pobiera na wejściu wiadomość dowolnej długości i daje na wyjściu 160 bitowy "odcisk palca"

Moduł ten może być używany jak zwykły moduł lub jak moduł obiektowy.

Opis funkcji

Poniżej znajduje się opis funkcji jakie mogą zostać wyeksportowane. Żadne funkcje nie są eksportowane domyślnie.

sha1($data,...)
Funkcja ta łączy wszystkie argumenty, oblicza SHA-1 tej "wiadomości" i zwraca to w formie binarnej. Zwrócony string będzie miał długość 20 bajtów.
sha1_hex($data,...)
Podobna do sha1(), lecz zwrócona wartość jest w postaci szesnastkowej. Jej długość wynosi 40 i zawiera znaki z przedziału: '0'..'9' i 'a'..'f'.
sha1_base64($data,...)
Podobna do sha1(), ale zwrócona wartość jest zakodowana w base64. Jej długość wynosi 27 i zawiera znaki: 'A'..'Z', 'a'..'z', '0'..'9', '+' oraz '/'.
sha1_transform($data)
Implementuje podstawową transformację SHA-1 bazującą na 64 bajtowym bloku. Argument $data oraz zwrócona wartość są w formie binarnej.

Opis metod obiektowych

W tej sekcji opisany jest moduł obiektowy. Po stworzeniu obiektu, możesz dodawać do niego dane a na koniec poprosić o wynik w wybranym formacie. Pojedyńczy obiekt może zostać wielokrotnie użyty do obliczeń.

$sha1 = Digest::SHA1->new
Tworzy nowy obiekt klasy Digest::SHA1. Jeżeli użyte jako metoda instancji, (np. sha1->new) zostanie zresetowany stan danego obiektu. Nie zostanie utworzony nowy obiekt.
$sha1->reset
Alias dla $sha1->new
$sha1->clone
Jest to kopia sha1. Jest ona użyteczna, jeżeli nie chcesz niszczyć stanu w jakim jest obiekt, ale potrzebujesz pośrednie wartości np. podczas obliczania iteratywnego ze strumienia wejściowego. my $sha1 = Digest::SHA1->new; while (<>) { $sha1->add($_); print "Line $.: ", $sha1->clone->hexdigest, "\n"; }
$sha1->add($data,...)
Dane $data wprowadzone jako argumenty sa dodane do wiadomości. Zwracany jest obiekt $sha1.
$sha1->addfile($io_handle)
Czyta z $io_handle dopóki nie pojawi się EOF. Jego zawartość dodawana jest do wiadomości. Zwracany jest $sha1. Funkcja ta powiadomi, jeżeli operacja odczytu nie powiodła się. Jeżeli pojawi się błąd wtedy nie będzie wiadomo, jaki jest stan obiektu. Mądrym zachowaniem będzie zresetowanie obiektu jeżeli pojawi się błąd.
$sha1->digest
Oblicza SHA-1 i zwraca w binarniej formie. Zwrócony string będzie miał 20 bajtów. Operacja digest jest operacją destruktywną. Gdy raz zostanie użyta obiekt Digest::SHA1 zostaje zresetowany i może zostać użyty do innych obliczeń. Użyj $sha1->clone->digest jeżeli chcesz obliczyć SHA-1 bez resetowania stanu.
$sha1->hexdigest
Podobnie jak $sha1->digest ale zwrócona wartość jest w postaci szesnastkowej. Długość zwróconego stringu wynosi 40 i zawiera znaki z przedziału: '0'..'9' i 'a'..'f'.
$sha1->b64digest
Podobnie jak $sha1->digest ale zwrócona wartość jest zakodowana w base64. Długość zwróconego stringu wynosi 27 i zawiera następujące znaki: 'A'..'Z', 'a'..'z', '0'..'9', '+' oraz '/'.

Dodatkowe informacje

Pozostałe informacje znajdują się w dokumentacji modułu, można je wyświetlić wpisując polecenie perldoc Digest::SHA1 lub wejść na stronę http://search.cpan.org/~gaas/Digest-SHA1-2.11/SHA1.pm.

Kontakt i informacje o autorze opracowania

Autor: K.M

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.