1

クロス プラットフォーム、クロス .NET バージョンのハッシュ関数が必要です。ほとんど\すべての通常のハッシュは、おそらくOS、使用されるコンパイラ、32\64ビットなどの異なる設定の結果として、異なるマシンで異なる結果を生成する可能性があることに注意してください.

私が必要としているのは、文字列をハッシュするオールラウンドな C# メソッドですが、システムに参加している多くのマシンのいずれかで生成された場合、ハッシュ値は同じになります。(それらはすべて .NET 3.5 以降を使用しています)。

4

1 に答える 1

7

パフォーマンスが問題にならない場合は、.NET Framework ライブラリに付属している暗号化ハッシュ関数のいずれかを試してください: MD5、SHA256RIPEMD160パフォーマンスが問題になる場合は、おそらくMurMurHash3のようなものを使用できます。これらはすべて、入力のみに依存しています。

(セキュリティ目的でハッシュする場合は、暗号化ハッシュ関数のみを使用する必要があることに注意してください。また、MD5および古いバージョンの SHAには既知の脆弱性があるため、使用を避ける必要があります。)

于 2013-06-26T06:45:43.320 に答える