.NET SHA256が管理した生成しない非有効なハッシュ
-
26-10-2019 - |
質問
ファイルに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
私がすべてをトリミングしたとしても、char - すべてが大文字であり、私はいつも小文字の信頼を見ました。 (それも問題です)私は正しい方法でライブラリを使用しているのではないかと思っています。助けてください
解決
SHA-256は256を意味します ビット, 、別名32 バイト これがあなたが見ているものです。
ここでは、低ケースとアッパーケースは無関係です - それはただの表現です バイト 文字列として。バイトの間にハイフンがあるかどうかにかかわらず。さまざまなツールが異なる16進ストリング表現を生成します。それだけです...したがって、「1210B2」が「12-10-B2」などに相当すると思います。
所属していません StackOverflow