PHP中对各种加密算法、Hash算法的速度测试对比代码

5年以前  |  阅读数:1035 次  |  编程语言:PHP 

PHP 的Hash算法是比较常用的,现在的MD5有时候不太安全,就得用到Hash_algos()中的其它算法,下面进行了一个性能的比较。

php代码:


    define('testtime', 50000);
    $algos = hash_algos();
    foreach($algos as $algo) {
        $st = microtime();
        for($i = 0; $i < testtime; $i++) {
            hash($algo, microtime().$i);
        }
        $et = microtime();
        list($ss, $si) = explode(' ', $st);
        list($es, $ei) = explode(' ', $et);
        $time[$algo] = $ei + $es - $si - $ss;
    }
    asort($time, SORT_NUMERIC);
    echo "";
    print_r($time);
    Array
    (
      [crc32b] => 0.14577506593323
      [crc32] => 0.14600901216125
      [adler32] => 0.14769597711182
      [md4] => 0.1584680151825
      [md5] => 0.15956400747681
      [salsa20] => 0.16176804933166
      [salsa10] => 0.16325911569214
      [tiger128,3] => 0.16543607070923
      [sha1] => 0.16547892630005
      [tiger160,3] => 0.16672711079407
      [tiger192,3] => 0.16793211837769
      [tiger128,4] => 0.16802901655579
      [sha224] => 0.16959108877563
      [tiger160,4] => 0.1713979150238
      [tiger192,4] => 0.1717759589386
      [sha256] => 0.17396298696899
      [ripemd256] => 0.17431005943298
      [ripemd128] => 0.17437094918823
      [ripemd320] => 0.17870710316467
      [haval160,3] => 0.18147005220032
      [haval256,3] => 0.18150104528809
      [haval224,3] => 0.18176211320496
      [sha512] => 0.18234492471313
      [haval192,3] => 0.18296506645203
      [ripemd160] => 0.18318411643982
      [haval128,3] => 0.18408892243958
      [sha384] => 0.18502903718567
      [haval128,4] => 0.18848111178589
      [haval256,4] => 0.18875202952576
      [haval160,4] => 0.1895639828186
      [haval224,4] => 0.19041207319641
      [haval192,4] => 0.19101205462646
      [whirlpool] => 0.19728892146301
      [haval256,5] => 0.19996902294922
      [haval160,5] => 0.20026498704529
      [haval192,5] => 0.20072503967285
      [haval128,5] => 0.20132308227539
      [haval224,5] => 0.2025869493103
      [gost] => 0.24892493852234
      [snefru256] => 0.28652299385071
      [snefru] => 0.29043891609192
      [md2] => 0.6300178873291
    )
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例