如何表示160位SHA-1字符串作为ANSI 20个字符?(How to denote 160 bi

2019-10-24 13:32发布

对于输入“你好”,SHA-1返回“aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d”,这是40个进制输出。 我知道1个字节可以表示为1个字符,所以160位输出应该能够转换为20个字符。 但是,当我在ASCII表中查找“AA”,有没有这样的十六进制值,和我很困惑有关。 如何160位SHA-1串映射为ANSI 20个字符?

Answer 1:

ASCII仅具有128个字符(7位),而具有ANSI 256(8位)。 至于十六进制值的ANSI值AA (十进制170),相应的ANSI字符将是ª (参见例如这里 )。

现在,你要记住,一些ASCII和ANSI字符(0-31)都是非打印控制字符(系统钟,空字符等),所以将你的散列成可读的20个字符的字符串在大多数情况下是不可能的。 例如,您的示例包含十六进制值0F ,这将转化为一个移入字符。



文章来源: How to denote 160 bits SHA-1 string as 20 characters in ANSI?