質問するログイン新規登録

回答編集履歴

1

追記1

2019/08/10 14:34

投稿

mokemokechicken
mokemokechicken

スコア948

answer CHANGED
@@ -9,6 +9,9 @@
9
9
 
10
10
  良さそう。
11
11
  理由: Hash化した文字列は普通にIndexが効くので検索効率は良い。またセキュリティ面でも特に弱くなってはいない(パスワードのようにHash化すれば)。1列余分に増えるので多少コストはあるが通常は許容できる範囲。
12
+ ※ 追記1
13
+ 欠点: 極めて低い確率だが「異なる2つのメールアドレス」が「同じHash文字列」になることがある。その場合「登録済みです」となると、ユーザが「まだ登録していないのに、なんてことだ!」となってしまう。
14
+ →対処方法: なので、Hash化したメールアドレスの該当レコードがあった場合、念の為メールアドレスも復号化してそれもちゃんと一致するかを検証した方が良さそうですね。(該当レコードが複数あることもあるので注意は必要かも)。
12
15
 
13
16
 
14
17
  ※ もっといい方法があるのかなぁ...