ソルトを含む最大 4000 万の文字列 (最大 20 シンボル) の md5 ハッシュを生成する必要があります。
md5 (文字列 + ソルト)
衝突をチェックしてから bd に保存します。次に、ソルトが変更されたら、新しいソルトで新しいハッシュを生成し、衝突をチェックし、古いハッシュとの衝突をチェックする必要があります。
ここで私を助けるライブラリはありますか?多分ブルームフィルターが役立つでしょうか?HashMap を使用して衝突をチェックできますか?
ソルトを含む最大 4000 万の文字列 (最大 20 シンボル) の md5 ハッシュを生成する必要があります。
md5 (文字列 + ソルト)
衝突をチェックしてから bd に保存します。次に、ソルトが変更されたら、新しいソルトで新しいハッシュを生成し、衝突をチェックし、古いハッシュとの衝突をチェックする必要があります。
ここで私を助けるライブラリはありますか?多分ブルームフィルターが役立つでしょうか?HashMap を使用して衝突をチェックできますか?
生成された md5 ハッシュをデータベースに挿入し、ループのすべての反復をチェックすることをお勧めします。より迅速な検索を行うために、「ハッシュ値」列にインデックスを作成できます。テーブルは非常に大きくなります。ハッシュをいくつかのテーブル (またはデータベース) に分割し、異なる最初の文字または最初の文字グループ (hashes_aa、hashes_ab など) を使用することもできます。
この解決策がうまくいかないほど頻繁に塩を交換していますか?
編集:衝突は非常にまれです。チェックをスキップしていただけますか?