- github / strawbrary / php-blake2
- SOURCEFORGE.JP Magazine / 2012-12-26: MD5やSHAの代替として利用可能な新たなハッシュ化技術「BLAKE2」登場
以下のスペックの 32bit 版 FreeBSD でテスト
php-blake2 は 64bit 最適化版である BLAKE2b の実装のようなので 32bit 環境では本領発揮出来てないと言うことだろうか???
$ sysctl hw.model hw.physmem hw.model: Intel(R) Core(TM)2 CPU 6320 @ 1.86GHz hw.physmem: 3743756288CPU はこれかな? テストコード
<?php $loops = 1000 * 1000; $time1 = microtime(true); $d = ""; for ($i = 0; $i < $loops; $i++) $d = md5($d); $time2 = microtime(true); echo "dtime: ".($time2 - $time1).", md5: ".$d."(".strlen($d).")<br>"; $time1 = microtime(true); $d = ""; for ($i = 0; $i < $loops; $i++) $d = sha1($d); $time2 = microtime(true); echo "dtime: ".($time2 - $time1).", sha1: ".$d."(".strlen($d).")<br>"; $time1 = microtime(true); $d = ""; for ($i = 0; $i < $loops; $i++) $d = blake2($d, 20); $time2 = microtime(true); echo "dtime: ".($time2 - $time1).", blake2: ".$d."(".strlen($d).")<br>"; $time1 = microtime(true); $d = ""; for ($i = 0; $i < $loops; $i++) $d = blake2($d); $time2 = microtime(true); echo "dtime: ".($time2 - $time1).", blake2: ".$d."(".strlen($d).")<br>";テスト結果
dtime: 1.18916893005, md5: 7701fe48b0fd88d6b732e9d06befa6df(32) dtime: 1.47609019279, sha1: 4424d597c5f61d777e6a83a13f193021de939e94(40) dtime: 9.23672509193, blake2: 81590aedeb4bb6aa061b7b154913807c8ae7e870(40) dtime: 9.60150909424, blake2: 1fc0850852b0eb9dbacc7a5e829e08990573cbf19183e88697c36c149a3dfe92950051c833040d20ed7623b2a76bf551a9f7e6645e6448b0747ff87713907fdf(128)MD5 や SHA1 より速いという謳い文句だったので期待していたのだが、
php-blake2 は 64bit 最適化版である BLAKE2b の実装のようなので 32bit 環境では本領発揮出来てないと言うことだろうか???
タグ
コメントをかく