安全なハッシュ関数とpassword_hash()
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
プライム・ストラテジー株式会社はコラム「安全なハッシュ関数とpassword_hash()」を公開しました
今回よりここで連載をさせていただくことになった小山 (koyhoge)です。フリーランスでエンジニアをしておりまして、他にニフティクラウド mobile backend (NCMB) という mBaaS サービスのエバンジェリストもやっているので、それがきっかけでここに書かせてもらうことになりました。
さて第1回目は、PHP 5.5.0 から新たに導入された password_hash() 関数について深掘りしていきたいと思います。
ハッシュ関数とは
このテーマを取り上げるきっかけは、今年の1月31日に開催されたPHP勉強会@東京での、長谷川智希さんの発表です。
ハッシュと暗号は違うぞ! / Do not confuse hashes and ciphers.
ハッシュ関数は以下の特徴を持ちます。
•ある値に処理を行った際に、もとの値とは関係く見える別の値に変換される。
•変換後の値が同じなのに、そっくりだが実は異なるという変換前の値を得ることは不可能。
•変換後の値から変換前の値を推測することは極めて難しい。
これらの特性のため、ユーザが入力されたパスワードをDBなどに保存するためによく使用されます。ユーザから入力された文字列は、ハッシュ関数によって変換されてDBに格納され、しかも変換後の文字列から入力されたパスワードを推測するのは困難なので、仮にDBの内容が流出してもパスワードそのものは守られるという仕組みです。
この続きは以下をご覧ください
https://column.prime-strategy.co.jp/archives/column_1014
ソーシャルもやってます!