2

ファイルに SHA256 ハッシュを生成する関数を作成しています。これが私が使用するコードです

public string ComputeHash(Byte[] inputBytes)
    {
        Byte[] hashedBytes = new SHA256Managed().ComputeHash(inputBytes);
        return BitConverter.ToString(hashedBytes);
    }

とてもシンプルです。実際、私が試したいくつかのツールによると、生成されたハッシュは有効ではないようであり、実際には、これまでに見た他の sha256 文字列とは異なります (256 バイトでさえありません)。たとえば、1つの結果は

12-10-B2-60-24-75-11-95-B5-F7-F6-64-39-C3-22-9F-E7-E7-D4-13-69-18-99-C5-A7-C5-EC-2F-E2-D6-09-19

すべての文字を削除しても、すべてが大文字ですが、常に小文字の表現が見られます。(それも問題ですか)ライブラリを正しい方法で使用しているかどうか疑問に思っています。助けてください

4

1 に答える 1

5

SHA-256 は 256ビット、別名 32バイトを意味します。

ここでは、小文字と大文字は関係ありません。これは、バイトを文字列として表現しただけです。バイト間にハイフンがあるかどうかも同様です。さまざまなツールがさまざまな 16 進文字列表現を生成します。それだけです...したがって、「1210B2」は「12-10-b2」などと同等であると予想されます。

于 2011-01-28T16:13:42.330 に答える