PHPにおけるパスワードの暗号化について その2

色々考えたけど、結局良く分からなかった。

ストレッチングの重要性はともかくとして、コストと安全性のトレードオフについては目的に応じて自分の勘で判断するしか無いという微妙な結論に…(・_・;)
crypt()のコスト=ストレッチングであるか否かはわからんちんヽ(・_・)ノ
# ソースを読むべき。いつか、そのうち、きっと

QA@ITと言うところで質問してみたところ、親切にも二人も回答して下さった方がいた。

PHPでのパスワードの暗号化について
http://qa.atmarkit.co.jp/q/2975?_nid=1255

# 一人目の回答者さんには今頃気がついて大変失礼なことをしてしまいました

回答として書いてくださった一人目の回答者さんからは、ストレッチングは単なる時間稼ぎじゃないんだよということをソース付きでお教え頂きました。
Key stretching
http://en.wikipedia.org/wiki/Key_stretching

しかし、この辺の事情を加味したとして、将来的にアルゴリズム換えますといった保守を考えると、スライドのように自作するのはやっぱりなんとなく嫌。
# 回答者さんのおっしゃっている通り、文字通りのサンプルであるなら言わずもがな

二人目の回答者さんはコメントでご回答下さいました。曰く、password_hash()password_verify()を使うのがよろしいのではと。これらの関数はPHP 5.5からの実装になりますが、互換ライブラリが提供されており、導入出来れば同じように使うことが出来そうです。

ライブラリの導入はどうやるんだ?(・_・)
と思っていたら何のことはない普通にPHPのソースだったので、私の使っているさくらサーバーでも、自分のコードと一緒にサーバに置いてあげれば使えそう。

カテゴリー: プログラミング タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください