2017-04-04 224 views
0

64个字符用于呈现SHA256哈希。为什么不是32,256除以8是32?该字节是一个需要进行base64编码才能以ascii字符表示的原始字节吗?SHA256哈希中的字符数

+0

可能重复的[SHA256散列总是有64个字符?](http://stackoverflow.com/questions/3064133/will-a-sha256-hash-always-have-64-characters) – wkl

回答

0

是的。字节值128-255不是任何ASCII码单元的一部分。 ASCII只有128个码点,因此无论映射是什么,它都不能覆盖所有的256字节值。

但是,使用Base16的真正原因是所有字符都是可打印/可见的,并且它们都不是控制字符(不管字符集和编码)还是引号字符在编程语言和文档中用作字面字符串定界符格式。这可以让他们按原样传递许多上下文,而不会破坏上下文的任何规则。

还有其他方法可以实现这一目标。一个是Base64。