レギュラートーク(20分)

解明!password_hash関数で生成される文字列の正体 PHPerKaigi 2022

11
hiro_y 山岡広幸 hiro_y

PHPではPassword Hashing関数を用いて簡単・安全にパスワードのハッシュ化と検証を行うことができます。password_hash関数でパスワードハッシュを生成、データベースに保存して、入力されたパスワードをpassword_verify関数で検証すればよいわけです。普段何気なく利用しているこのパスワードハッシュの仕組みですが、その文字列は定められたフォーマットに沿って作られていることはご存知でしょうか。どのようなフォーマットなのか、bcryptとModular Crypt Formatについて触れながら解説します。