php的Mhash扩展库

一 Mhash库常量

1、代码
<?php
$num = mhash_count();									//函数返回最大的hash id
echo "Mhash库支持的算法有:";
for($i = 0; $i <= $num; $i++){
	echo $i."=>".mhash_get_hash_name($i)."  ";				//输出每一个hash id 的名称
}
?>
 
2、运行结果
Mhash库支持的算法有:0=>CRC32 1=>MD5 2=>SHA1 3=>HAVAL256 4=> 5=>RIPEMD160 6=> 7=>TIGER 8=>GOST 9=>CRC32B 10=>HAVAL224 11=>HAVAL192 12=>HAVAL160 13=>HAVAL128 14=>TIGER128 15=>TIGER160 16=>MD4 17=>SHA256 18=>ADLER32 19=>SHA224 20=>SHA512 21=>SHA384 22=>WHIRLPOOL 23=>RIPEMD128 24=>RIPEMD256 25=>RIPEMD320 26=> 27=>SNEFRU256 28=>MD2 29=>FNV132 30=>FNV1A32 31=>FNV164 32=>FNV1A64 33=>JOAAT
3、说明
如果在实际应用中使用上面的常量,需要在算法名称前加上MHASH_前缀。
二 Mhash应用
1、代码
<?php
	$filename = 'count.txt';									//文件路径
	$str = file_get_contents($filename);						//读取文件内容到变量$str中
	$hash = 2;										//设置hash值
	$password = '111';									//设置变量$password
	$salt = '1234';										//设置变量$salt
	$key = mhash_keygen_s2k(1,$password,$salt,10);			//生成key值
	$str_mhash = bin2hex(mhash($hash,$str,$key));			//使用$key值、$hash值对字串$str加密
	echo "count.txt的校验码是:".$str_mhash;				//输出校验码
?>  
 
2、运行结果
count.txt的校验码是:17dff76bfb2f87eab4bed1256dfd8800c8ec170d

 

你可能感兴趣的:(PHP,mhash)