输入字符串可以是一个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。 –