「パスワードのハッシュ化」の編集履歴(バックアップ)一覧はこちら
「パスワードのハッシュ化」(2015/11/09 (月) 22:14:13) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
今回はパスワードをハッシュ化してみたいと思います。~
~
*そもそもハッシュ化って何??
ハッシュ化というのは、パスワードを保護するための方法の一つです。~
例えば、ユーザー管理のデータベースにそのままパスワードを入れてしまうと、データベースにアクセスされてしまった時点でパスワードなどは全て丸わかりになってします。~
ハッシュ化は不可逆的計算が行われているので、ハッシュ値から原文を復元する事は不可能です。~
暗号化との違いはこの点にあり、暗号化は一定の手順により復元する事ができるものです。~
~
また、ハッシュ化だけでなくソルト(データを追加する事)を自動生成し、付加すると同じパスワードであっても&del(){毎回違うハッシュ値が得られるため、}攻撃される可能性は低くなります。~
~
*コード
$options = array('cost' => 10);
$hash = password_hash($password,PASSWORD_DEFAULT,$options);
//$passwordにパスワードが格納してある場合
*解説
ハッシュの生成にはpassword_hash関数を用います。~
様々な関数があるようですがセキュリティ観点からこの関数が推奨されているようです。~
一行目ではハッシュ処理について計算コストを指定しています。~
計算コストというものが増えれば増える程、攻撃に時間が要されるようになります。~
ソルトは自動生成されています。~
~
*おまけ
aaというパスワードをソルトを付けてハッシュ化しました。~
三回行ったのですが毎回違う値を得る事が出来ました。~
$2y$10$Qq8lIpjl2U85mwofFDW2Jud.sRpvG6hzaD.BYigKH2Q4O/r0D5/QG~
$2y$10$m68sf/WUNqQvtaqSAlfqKu5cRxY4/7BZcAmrSKUS7rhBn8lK.2ZEG~
$2y$10$sqveYxum9fGw9tFnnM7Bw.0eWRhKtbDoqP.ef.Xm6YtRLKy6JaUGm~
~
以上
今回はパスワードをハッシュ化してみたいと思います。~
~
*そもそもハッシュ化って何??
ハッシュ化というのは、パスワードを保護するための方法の一つです。~
例えば、ユーザー管理のデータベースにそのままパスワードを入れてしまうと、データベースにアクセスされてしまった時点でパスワードなどは全て丸わかりになってします。~
ハッシュ化は不可逆的計算が行われているので、ハッシュ値から原文を復元する事は不可能です。~
暗号化との違いはこの点にあり、暗号化は一定の手順により復元する事ができるものです。~
~
また、ハッシュ化だけでなくソルト(データを追加する事)を自動生成し、付加すると同じパスワードであっても攻撃される可能性は低くなります。~
~
*コード
<?php
$options = array('cost' => 10);
$hash = password_hash($password,PASSWORD_DEFAULT,$options);
//$passwordにパスワードが格納してある場合
?>
*解説
ハッシュの生成にはpassword_hash関数を用います。~
様々な関数があるようですがセキュリティ観点からこの関数が推奨されているようです。~
一行目ではハッシュ処理について計算コストを指定しています。~
計算コストというものが増えれば増える程、攻撃に時間が要されるようになります。~
ソルトは自動生成されています。~
~
*おまけ
aaというパスワードをソルトを付けてハッシュ化しました。~
三回行ったのですが毎回違う値を得る事が出来ました。~
$2y$10$Qq8lIpjl2U85mwofFDW2Jud.sRpvG6hzaD.BYigKH2Q4O/r0D5/QG~
$2y$10$m68sf/WUNqQvtaqSAlfqKu5cRxY4/7BZcAmrSKUS7rhBn8lK.2ZEG~
$2y$10$sqveYxum9fGw9tFnnM7Bw.0eWRhKtbDoqP.ef.Xm6YtRLKy6JaUGm~
~
以上