2011-05-20 93 views
3

我需要知道SHA1会为我生成什么字符?SHA1的特征是什么?

是否有可能知道SHA1的字符集?或者如果它是可配置的,它的默认字符集是什么?

谢谢。

+0

SHA1的20个二进制字节......你问的方式来表示呢? – alpian 2011-05-20 08:09:27

+1

这是一个十进制数字,数字为0-9 A-F,那里会涉及什么字符集? – 2011-05-20 08:10:03

+0

@ N.B .:你知道有代表不同的代码的字符集? EBCDIC就是一个典型的例子,但是现代的例子就是UTF-16。不是所有的都是ASCII,甚至不在这个范围内。 – 2011-05-20 10:51:27

回答

2

我相当肯定这只是二进制数据,而非任何字符编码。如果你喜欢,你可以在Base64中进行编码。

8

SHA-1不生成文本,它会生成一个二进制散列(最喜欢的消化),所以它不会有一个字符集(或关心为此事输入的字符集)。

可以代表它是以文本(十六进制值的字符串表示和Base64是流行的),如果你想,特别是如果你需要将它在网络上传输或将其展示给用户。该编码取决于你。

1

散列算法SHA1取字节作为输入的流,并且计算160位消化。命令行版本将摘要输出为十六进制字符串。没有涉及的字符集。

+2

SHA-1产生160位输出,不是“十六进制字符串”。该输出**可以**(通常是)格式化为十六进制数字,但在SHA-1中未指定。 – 2011-05-20 08:20:38

+0

我已经阐明了输出摘要的算法和实用程序之间的区别。 – ShiDoiSi 2011-05-20 10:23:28

相关问题