当前位置: 首页 > 编程笔记 >

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

焦学海
2023-03-14
本文向大家介绍PHP中对各种加密算法、Hash算法的速度测试对比代码,包括了PHP中对各种加密算法、Hash算法的速度测试对比代码的使用技巧和注意事项,需要的朋友参考一下

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对称加密算法(DES/AES)类的实现代码,包括了PHP对称加密算法(DES/AES)类的实现代码的使用技巧和注意事项,需要的朋友参考一下 对称密钥加密机制即对称密码体系,也称为单钥密码体系和传统密码体系。对称密码体系通常分为两大类,一类是分组密码(如DES、AES算法),另一类是序列密码(如RC4算法)。 AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES

  • 本文向大家介绍php中简单的对称加密算法实现,包括了php中简单的对称加密算法实现的使用技巧和注意事项,需要的朋友参考一下 前言 在网上找到了一个不错的PHP方面的对称加密算法;在PHP的语法环境里,有urlencode与urldecode,base64_encode和base64_decode自带的对称算法,不过这些自带的算法不能称之为加密算法,只能说是编码方式而已。可是我们可以利用这些来进行一

  • 本文向大家介绍php对文件进行hash运算的方法,包括了php对文件进行hash运算的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php对文件进行hash运算的方法。分享给大家供大家参考。具体如下: 这段代码非常有用,如果你下载了一个文件,网站提供了hash结果,你可以对你下载下来的文件进行hash运算,以验证下载的文件是否正确。 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍php用户密码加密算法分析【Discuz加密算法】,包括了php用户密码加密算法分析【Discuz加密算法】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php用户密码加密算法。分享给大家供大家参考,具体如下: 今天在拿Discuz进行二次开发时需要在代码里验证Discuz的用户名密码,结果不小心掉进了坑里,因为Discuz的论坛有两张表来存储用户数据,一张在Discuz的

  • 本文向大家介绍Java 对称加密几种算法分别实现,包括了Java 对称加密几种算法分别实现的使用技巧和注意事项,需要的朋友参考一下 Java 对称加密使用DES / 3DES / AES 这三种算法分别实现 有两句话是这么说的: 1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。 注意,这可不是我说的,

  • 第一部分:Top K 算法详解 问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。 必备知识 什么是哈