PHP最高の暗号化法としてPHP5.5から使える「password_hash」があります。
でもそれを、5.5未満のバージョンで使いたい!
特に私が使っている、さくらインターネットのサーバーはPHP 5.4までしか使えない問題があります。orz
書き方はすごく簡単なのに・・・
<?php $passwordHash = password_hash('secret-password', PASSWORD_DEFAULT); if (password_verify('bad-password', $passwordHash)) { // パスワードが一致した } else { // パスワードが一致しなかった }
なんと!
「PHP5.3.7以降」なら同名のユーザー関数が使えるようにする「password_compact」があります。
使い方はいたって簡単。
- 「password_compat」にアクセスして右側にある「Download Zip」でファイルをダウンロード
- 「lib/password.php」を置きたい場所にセットする
- require ‘password.php’;でOK!
<?php require 'password.php'; $passwordHash = password_hash('secret-password', PASSWORD_DEFAULT); if (password_verify('bad-password', $passwordHash)) { // パスワードが一致した } else { // パスワードが一致しなかった }
すごく簡単ですね!
※実際にソフトウェアで使用する場合はライセンス内容を確認してください。著作権内容とライセンス表示が必要です。(2018.09.24追記)
コピーライトという文章がありましたけど、大丈夫なんですか?
コメントありがとうございます。
copyright(著作権)については、
リンクにある通り、
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
=このソフトを使うときは著作権と許諾内容をどこかに書いてね
という内容です。
内容に記載していなかったので追記しておきます。ありがとうございます。