0

内部にトルコ語の文字が含まれているデータをハッシュしようとしています。例えば; "aaç"Polarssl で文字列をハッシュすると、sha-1結果は次のようになります。

10 bf 94 7f 94 65 9f b0 66 76 97 b d4 25 de 9d e4 85 8e ca

しかし、私はインターネットから同じ string's( aaç) ハッシュ結果を見ました:

97 dd 7a 00 e8 ff 49 09 47 60 03 50 83 db 7c ba 87 07 0f d9

これら 2 つのsha1結果が異なるのはなぜですか?

4

1 に答える 1

1

テキスト エンコーディングの違い。ISO 8859-1 エンコーディングと UTF-8 エンコーディングでは文字çのエンコードが異なります。この違いにより、結果のバイト シーケンスの SHA-1 ハッシュが異なります。

SHA1("aa\xe7")     = 10bf947f94659fb06676970bd425de9de4858eca (ISO 8859-1)
SHA1("aa\xc3\xa7") = 97dd7a00e8ff49094760035083db7cba87070fd9 (UTF-8)
于 2014-12-25T18:55:00.187 に答える