2017-04-04 27 views
0

SHA256ハッシュをレンダリングするのに64文字が使用されます。 256を8で割った値が32なので、なぜそれは32ではないのですか?バイトはASCIIバイト文字として表現されるためにはbase64エンコードされる必要のある生のバイトですか?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を使用する本当の理由は、すべての文字が印刷可能/表示可能であり、制御文字(文字セットとエンコーディングに関係なく)またはプログラマ言語とドキュメントのリテラル文字列区切り文字として使用される引用文字フォーマット。これにより、コンテキストのルールを破ることなく、多くのコンテキストをそのまま通過させることができます。

この目的を達成する他の方法があります。 1つはBase64です。

関連する問題