2011-06-30 17 views

Odpowiedz

3

sha1 zwraca ciąg binarny. Niektóre funkcje sha1 mogą, dla wygody, również kodować ten łańcuch binarny na szesnastkowy lub base64 - jeśli tak, wynikiem będą znaki ASCII. Ale sha1 nie zwraca ASCII.

+1

Aby wyjaśnić, SHA1 zwraca (dużą) liczbę. Niektóre z nich reprezentują tę liczbę jako ciąg znaków szesnastkowych. Jednak jeśli odwołasz się do biblioteki, która ma funkcję SHA1, niekoniecznie spodziewaj się, że zwróci ci ciąg znaków ASCII. Zawsze RTFM. –

2

SHA1 zwraca 20 bajtów. SHA1 nie dotyczy kodowania, tekst ASCII, itp

Jeden wspólny sposób reprezentacji danych binarnych jest poprzez zakodowanie go w systemie szesnastkowym - w tym przypadku, wyjście jest zawsze [af] [0-9]

6

To zależy, ale ściśle mówiąc, nie. Wyjście sumy kontrolnej SHA-1 ma 160 bitów lub 20 bajtów, ale nie gwarantuje się, że bajty znajdują się w zakresie ASCII.

Jednak niektóre funkcje mieszające wyprowadzają równoważnik heksadecymalny (tj. 40 znaków) z 20 bajtów, więc jeśli pierwsze trzy bajty rzeczywistego haszu to 0x7e, 0x03 i 0xb2, wynik będzie zaczynać się od "7e03b2", w takim przypadku wyjście jest ASCII.

Powiązane problemy