ハッシュ化のソルトとは
ソルトとは
入力値の前後にソルトと呼ばれる値を結合してハッシュ化する。
これによりハッシュ化の元データが判明しても入力値が判明することはない。
普通のハッシュ化
ソルト付きハッシュ化
入力値: password
ソルト値: salt
ランダムソルト付きハッシュ化
パスワードをハッシュ化する場合は、ユーザごとに異なるソルト値にすることが良いとされている。
入力値: password
ソルト値:
ソルト値:
疑問
ソルト値をランダムに生成して、ハッシュ化に使用するのは良いとして、どうやってチェックするの?
答え
生成したソルト値をDBに登録することで、チェック時は入力値にDBに登録されたソルト値を結合してハッシュ化することで確認後可能になる
固定ソルト値と同様に、ソルト値が漏洩するとレインボーテーブルを利用して入力値が求められるため、DBに登録すること自体が課題として残る