RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

PHP5.5から使える暗号化「password_hash」を「password_compact」を使って以前のバージョンで利用する

投稿日:2013年12月15日 更新日:

Passwords, Logins
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

使い方はいたって簡単。

  • 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追記)

-Web制作

執筆者:


  1. ななしにんげん より:

    コピーライトという文章がありましたけど、大丈夫なんですか?

    • rei より:

      コメントありがとうございます。
      copyright(著作権)については、
      リンクにある通り、
      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
      =このソフトを使うときは著作権と許諾内容をどこかに書いてね
      という内容です。
      内容に記載していなかったので追記しておきます。ありがとうございます。

comment

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

関連記事

no image

iPhoneアプリを開発してみよう

最近ずっとiPhoneアプリで遊んでて、 「なんか頭使うゲームないな?」と思い(”本質的には育成ゲー”が多すぎてゲンナリ) 「複数人でのRTS」があればな~と。 「他ゲーに文句 …

(失敗作)愚痴のプラットフォーム アゴニア(αγωνία)

Photo by Alex Iby on Unsplash 今日とりあえず作ってみたけど面白くなかったのを紹介。 コンセプト:  匿名で後ろ向きに愚痴を吐き捨てる場所が欲しい なぜか?: どんどん実名 …

VPSでつくるPythonでのWebアプリ運用環境(連載記事)

今風のWebアプリをリリースするにはレンタルサーバーでは物足りない! 例えば、PythonやRubyに対応しているレンタルサーバーはあまりありません。加えて、データサイエンスや機械学習に強いプログラム …

[Meisyo] ver 0.31 リリース情報

名将と呼ばれた者達をver 0.31にアップデートします。 更新概要 1・投手配球設定の追加 2・練習試合マッチング方法の修正 3・課金決済の導入 4・その他 5・アンケート 更新詳細 投手配球設定の …

Python可読性高すぎてすごい

コード ちょっと詰めて書いていますが year = int(input("あなたの生まれ年を西暦4桁年で表記してください:")) eto_list = (‘子’, ‘丑’, ‘寅’ …