Moduł Digest::SHA1
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaCo 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