URLをデータベースに保存しています。新しいURLを挿入すると、そのURLが既にデータベースに存在するかどうかを確認したいと思います。重複したURLチェックのためのどのハッシュアルゴリズムですか?
私が間違っていないのであれば、md5やsha-1などを使ってURLをハッシュし、新しいフィールドを挿入する前に重複するデータベースのフィールドをチェックすることです。
私は、MD5はあなたが私のために提案する何をすべきか... SHA-1も、
を衝突を生成することができます知っていますか?私のニーズは、以下のとおりです。
DBサイズ:データベース上のレコードの最終的には10〜20百万
パフォーマンス/スピード:小ハッシュサイズデータベースは重い負荷が重複をチェックする必要はありませんので、(
公差:私は10万レコードごとに1つの衝突を得るかどうかは気にしません。私のニーズは、0%の衝突(大きなハッシュ)ではなく、パフォーマンス(小さなハッシュ)に向かっています。故意に衝突を生成するために、不正な形式のURLによる攻撃の
チャンス:極めて低い
、このような攻撃が成功した場合に可能な最大ダメージ:極めて低い
質問:
elieve md5で十分です(何か良いことを提案する)?
多分md5はとなりました。私にとってと重大なことに、もっと簡単なものを使ってパフォーマンス上の利点を得ることができますか?
ありがとうございました!
答えていただきありがとうございます。Shea Levy、私はmd5に行き、衝突の場合にチェックすることを決めました。私はQuarkを試したかったのですが、PHPの実装が見つからなかったので、私はグーグルで試してみました。残念ながら、結果はPHP用のQuarkミニCMSと、Quarkハッシュアルゴリズム用のものではありませんでした... –