SHAの計算色々
ハッシュ値計算の関数のことです。
PHPでは色々な利用方法があります。
しかし MD5 - Wikipediaにあるように、SHA-256以上が推奨されていますが、sha256()なんてものはないので、独自で計算します。
PHP4では確かに計算式を利用しないといけないのですが、PHP5では標準で利用できるようになっています。
PHP5の場合
<?php hash('sha256', $string);
PHP4の場合
<?php <code><pre>bin2hex(mhash(MHASH_SHA256, $string));
PHP5の方がすっきりしていますし、計算の回数が少ないので、パフォーマンスもいいのかも。
hash()は第1引数でアルゴリズムの指定します。
何が指定できるかはPHP: hash_algos - Manualを参照していただければいいのですが、少し古いようでしたので、PHP5.2.6での一覧を記載しておきます。
php -r "print_r(hash_algos());" Array ( [0] => md2 [1] => md4 [2] => md5 [3] => sha1 [4] => sha256 [5] => sha384 [6] => sha512 [7] => ripemd128 [8] => ripemd160 [9] => ripemd256 [10] => ripemd320 [11] => whirlpool [12] => tiger128,3 [13] => tiger160,3 [14] => tiger192,3 [15] => tiger128,4 [16] => tiger160,4 [17] => tiger192,4 [18] => snefru [19] => gost [20] => adler32 [21] => crc32 [22] => crc32b [23] => haval128,3 [24] => haval160,3 [25] => haval192,3 [26] => haval224,3 [27] => haval256,3 [28] => haval128,4 [29] => haval160,4 [30] => haval192,4 [31] => haval224,4 [32] => haval256,4 [33] => haval128,5 [34] => haval160,5 [35] => haval192,5 [36] => haval224,5 [37] => haval256,5 )