94 · H. セキュリティ
Password Hashing
パスワードハッシュ化
元に戻せない形で保存する
plain
secret123
⚙ bcrypt()
stored
$2b$10$a3f2b9c7…
← 復元不可能
パスワードハッシュ化ってそもそも何?
パスワードを「元に戻せない暗号文字列(ハッシュ値)」に変換して保存する技術です。secret123を保存する代わりに、それをハッシュ関数に通したa3f2b9c7...のような文字列を保存する。万一DBが漏洩しても、ハッシュから元のパスワードは(基本的に)復元できないので被害を最小化できます。ソルトを加える、bcryptやArgon2を使うなどが現代の基本。
身近な例えで理解する
例① 料理の逆再生不可
カレーはじゃがいも・玉ねぎ・ルウから作れるけど、完成したカレーから元の素材は取り出せない。ハッシュ化も同じで、パスワードは「カレーにしてから保存」する。
例② シュレッダーにかけた紙
書類をシュレッダーにかけたら、もう元の文書には戻せない。一方通行で、覗かれても中身が分からない。パスワードも同じで、シュレッダーしてから保存する仕組みです。
まとめ
パスワードハッシュ化は、「万一漏れても復元されない」ための保険。AIにコードを頼む時も、これを指定するだけでセキュリティ水準が一段上がります。