2017-04-04 60 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。