私の問題はこれです。データのブロックがあります。時折、このデータブロックが更新され、新しい変更されたバージョンが表示されます。私が見ているデータが私が受け取ることを期待しているバージョンと一致するかどうかを検出する必要があります。
「期待される」バージョンのデータを完全に保存しないようにするために、フィンガープリントを使用することにしました。この種のものの「デフォルト」の選択はMD5ハッシュのようです。
ただし、MD5は暗号的に安全になるように設計されています。はるかに高速なハッシュ関数があります。CityHashやSpookyHashなどの最新の非暗号化関数を見ています。
システム内のすべてのデータを制御しているので、変更されたデータブロックが同じ値にハッシュされる偶発的な衝突のみを気にします。したがって、暗号化ハッシュの「攻撃者に強い」性質について心配する必要はなく、より単純なハッシュ関数で解決できると思います。
この目的でCityHashやSpookyHashなどのハッシュ関数を使用することに問題はありますか?それともMD5を使い続ける必要がありますか?または、Rabin指紋など、指紋用に特別に設計されたものを使用する必要がありますか?