アカウントを持たないユーザーにメールを受信できないようにするウェブサイトがあります。これは、自分のメールアドレスを「ブラックリスト」の表に保存し、メールを送信する前にそれを調べるだけで実現できます。ブラックリストに安全にメールを保存する
データ保護とセキュリティ上の理由から、電子メールを何らかの方法で暗号化/ハッシュ保存する必要があります。私は単純なmd5(password)
のことを考えましたが、それはクラック/ブルートフォースが簡単すぎます。 2番目の考えは、bcrypt/scryptを使って遅いハッシュ関数を使うことですが、各エントリには塩分がありますので、比較するためにはすべてのエントリに対してメールをハッシュする必要があります。これは実行時間がO(n)
でかなり遅く、nはブラックリストに登録されたエントリの数です。
メールを安全にハッシュしてブラックリストと簡単に比較する方法はありますか?いくつの項目があっても、実行時間はO(1)
にする必要があります。