0

SHA256Managedを使用して256ビットのハッシュを生成しており、SQLサーバーに保存したいと思います。このためのBitConverter.ToInt64はどれくらい良いですか?余分なバイトを無視しますか?int64に変換する前に、バイト配列を減らすための処理を行う必要がありますか?

4

1 に答える 1

1

値を生成するために8バイトのみを使用するため、配列内のBitConverter.ToInt64余分なバイトは無視されます。

完全な256ビットハッシュを保存する場合は、別のデータ型を使用する必要があります。

ハッシュの最初の64ビットのみを使用したい場合は、通常は問題ありません。ハッシュコード全体は、ハッシュを計算した各バイトの影響を受けるはずなので、ハッシュの一部だけがそれ自体で適切なハッシュを生成します。当然、ハッシュ衝突のリスクは高くなりますが、通常は64ビットで十分にまれになります。

于 2012-03-21T12:11:45.260 に答える