2011-06-30 65 views

回答

3

sha1返回一個二進制字符串。爲方便起見,一些sha1函數也可以將該二進制字符串編碼爲十六進制或base64 - 如果是這樣,結果將是ASCII字符。但sha1本身不返回ASCII。

+1

爲了說明這一點,SHA1返回一個(大)數字。一些選擇將該數字表示爲一串十六進制字符。但是,如果你關閉一個具有SHA1函數的庫,不一定期望它會返回一個ASCII字符串。始終RTFM。 –

2

SHA1返回20個字節。 SHA1不處理的編碼,文本,ASCII等

一種常見的方式來表示二進制數據是十六進制編碼它 - 在這種情況下,輸出始終[AF] [0-9]

6

這取決於但嚴格來說,沒有。 SHA-1散列的輸出是160位或20個字節,但字節不保證在ASCII範圍內。

但是,一些散列函數輸出20個字節的十六進制等效(即40個字符),所以如果實際散列的前三個字節是0x7e,0x03和0xb2,則輸出將以「7e03b2」開頭,在這種情況下,輸出 ASCII。

相關問題