C++について私はずっとビットシフト、XOR、素数を扱わずに良いハッシュ値を作成するためにBoost.Functional/Hashを使ってきました。 C#/ .NETの良い(私は最適を求めていない)ハッシュ値を生成するライブラリがありますか?このユーティリティを使用して、暗号化ハッシュではなくGetHashCode()を実装します。.NET用の「良い」ハッシュコードを作成するBoost.Functional/Hash
(GetHashCodeメソッドを実装する場合)(非常に一般的な操作ofcourseの)私は、これは便利だと思う理由を明確にするために、ここで値をハッシュする組み合わせboost::hash_combine
の実装があります:
seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
、コードdoesnのこの種のGetHashCode()
の実装に属しているため、他の場所で実装する必要があります。
良いハッシュをどのように定義しますか?どのような目的のために?そしてなぜあなたは 'GetHashCode()'が気に入らないのですか? – CodesInChaos
あなたはOPを誤解していると思います。彼はBoost.Functional/Hash *のようなものを 'GetHashCode' *の中で使うことを望んでいます! –
関連:http://stackoverflow.com/questions/263400/what-is-the-best-algorithm-for-an-overridden-system-object-gethashcode – CodesInChaos