PHPでsha-512を使う方法

11月 25th, 2010

php5.1.2以上であれば、

hash('sha512',$string);

が楽。
http://jp.php.net/manual/ja/function.hash.php

それより前のバージョンであれば、

mhash(MHASH_SHA512,$str);

で出来る・・・らしい・・・。

私のテストサーバーにはmhashがインストールされていなくて、
Fatal error: Call to undefined function mhash()
となってしまった。
mhashはまた今度時間のあるときにインストールして検証しよう。

sha-512から更にセキュリティを高めるには、hash_hmacを使って、秘密キーを設定すると良い。

$secret_key = 'hoge';
 $str = '明日晴れるといいな';
 echo $str."<br />";
 echo "secret_key:無し<br />";
 echo hash('sha512',$str)."<br />";
 echo "secret_key:".$secret_key."<br />";
 echo hash_hmac('sha512',$str,$secret_key)."<br />";
 echo "<br /><br />";

上記プログラムを実行した場合、表示は下記のようになる。

明日晴れるといいな
secret_key:無し
5f98924030017d172cb65747e9d1841ae003a2bd0648bd1c13c9b732899b0de9b5b0623c85c06ffa2508d358c370f9ee0dbc899c8935006b5b817dd075249f86
secret_key:hoge
79df99351ca6531d5ef671443c3219345971e2571be186b6ad22dfc0ca913ec4a6348e0bf272ce834a8f03e6aeabb3b30c1166b99e27c3a3026ceb3702fedc65

カテゴリー: PHP, サーバー, 開発

Leave a comment

Leave a comment

コメントは承認待ちです。表示されるまでしばらく時間がかかるかもしれません。

Feed

http://blog.yume-dia.jp / PHPでsha-512を使う方法