SECURE · BROWSER-ONLY
パスワード生成.jp
Secure Password Generator
🛡 ブラウザ完結 🔐 Web Crypto API 📡 通信ゼロ

ソルトとは

ハッシュ化前にパスワードへ付加するランダム値

ソルトとは

ソルト(Salt)は、パスワードをハッシュ化する前に追加するランダムな文字列のことだよ。料理のお塩みたいに「少し加えることで性質を変える」イメージだね。

なぜ必要なの?

ソルトがないと、同じパスワードは常に同じハッシュ値になる。これがレインボーテーブル攻撃に弱い理由だよ。レインボーテーブルは「パスワード → ハッシュ値」の対応表で、事前計算しておくことで高速に元のパスワードを特定できてしまうんだ。

ソルトを加えることで、同じパスワードでも毎回異なるハッシュ値が生成される。攻撃者がレインボーテーブルを使っても無意味になるわけだね。

ソルトの実際の動作

ハッシュ値 = hash(パスワード + ソルト)

ソルトはユーザーごとにランダムに生成され、ハッシュ値と一緒にデータベースに保存される。ログイン確認の際は、保存されたソルトを取り出してパスワードと組み合わせてからハッシュ化するよ。

現代のパスワードハッシュとソルト

bcryptやArgon2はソルトを自動的に生成・管理してくれる。自分でソルトを管理する必要がないので、実装ミスが減ってとても安全なんだ。ソルトはランダムで十分な長さ(16バイト以上推奨)であることが重要だよ。