2011-06-30 63 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。

相关问题