【发布时间】:2017-04-05 10:53:27
【问题描述】:
64 个字符用于呈现 SHA256 哈希。为什么不是 32,因为 256 除以 8 是 32?该字节是否是需要进行 base64 编码才能表示为 ascii 字符的原始字节?
【问题讨论】:
标签: sha
64 个字符用于呈现 SHA256 哈希。为什么不是 32,因为 256 除以 8 是 32?该字节是否是需要进行 base64 编码才能表示为 ascii 字符的原始字节?
【问题讨论】:
标签: sha
是的。字节值 128-255 不属于任何 ASCII 代码单元。 ASCII 只有 128 个代码点,因此无论映射是什么,它都无法覆盖所有 256 字节值。
但是使用 Base16 的真正原因是所有字符都是可打印/可见的,并且它们都不是控制字符(无论字符集和编码如何)或在编程语言和文档格式中用作文字字符串分隔符的引号字符.这让它们可以按原样通过许多上下文,而不会破坏上下文的任何规则。
还有其他方法可以实现这一目标。一个是Base64。
【讨论】: