輸入字符串可以是一個unicode字符串。計算SHA1後的輸出字符串將始終返回ASCII字符嗎?字符串的SHA1是否總是返回ASCII字符?
7
A
回答
3
sha1返回一個二進制字符串。爲方便起見,一些sha1函數也可以將該二進制字符串編碼爲十六進制或base64 - 如果是這樣,結果將是ASCII字符。但sha1本身不返回ASCII。
2
SHA1返回20個字節。 SHA1不處理的編碼,文本,ASCII等
一種常見的方式來表示二進制數據是十六進制編碼它 - 在這種情況下,輸出始終[AF] [0-9]
6
這取決於但嚴格來說,沒有。 SHA-1散列的輸出是160位或20個字節,但字節不保證在ASCII範圍內。
但是,一些散列函數輸出20個字節的十六進制等效(即40個字符),所以如果實際散列的前三個字節是0x7e,0x03和0xb2,則輸出將以「7e03b2」開頭,在這種情況下,輸出是 ASCII。
相關問題
- 1. RabbitListener返回字符串作爲ASCII而不是字符串
- 2. xpathGetString總是返回空字符串
- 3. 字符串比較總是返回false
- 4. C++ 11 - Unicode字符串 - 查找是否包含非ASCII字符
- 5. re.findall()返回的元組中的第一個字符串是否總是最長的匹配字符串?
- 6. OpenId總是返回HMAC-SHA1
- 7. NSURL不返回零的單字符非ASCII字符串
- 8. ASCII字符返回null NSJSONSerialization
- 9. PHP exec返回ascii字符
- 10. 比較字符總是返回true
- 11. Mysqli總是返回數字作爲字符串
- 12. numpy.loadtxt返回字符串再版字節字符串,而不是字符串
- 13. 是否std :: string :: c_str()總是返回一個以null結尾的字符串?
- 14. Java中的ASCII到HEX字符串返回ASCII值而不是HEX
- 15. 返回的char *而不是字符串
- 16. HttpContext.Current.User.Identity.Name總是字符串。空
- 17. 檢查0是否等於任何字符串總是返回true
- 18. C#:拆分字符串,而不是返回空字符串
- 19. 字符串的返回子字符串
- 20. Java中總是返回compareTo的某個結果的字符串?
- 21. 網絡流返回的字符串的長度總是8193
- 22. 的UITextField的.text屬性總是返回一個空字符串
- 23. 的EditText的getText()總是返回空字符串
- 24. 如何檢查是否某個字符串或日期字符串被返回?
- 25. Textbox.text總是返回C代碼後面的空字符串#
- 26. DialogFragment中的EditText總是返回空字符串
- 27. Python的輸入總是返回一個字符串
- 28. mysql_error奇怪的行爲(返回總是空字符串)
- 29. Clipboard.GetText()總是在Mac上的Mono中返回空字符串
- 30. 爲什麼比較Ruby中的字符串總是返回false?
爲了說明這一點,SHA1返回一個(大)數字。一些選擇將該數字表示爲一串十六進制字符。但是,如果你關閉一個具有SHA1函數的庫,不一定期望它會返回一個ASCII字符串。始終RTFM。 –