background image

数字签名集成到其 PHP 企应用程序中.其形式为:
string mhash(int hash,string data[,string key])
散列还可以用于存储密码。mhash()当前支持的散列算法如下:
·ADLER32
·CRC32
·CRC32B
·GOST
·HAVAL
·MD4
·MD5
·RIPEMD128
·PIPEMD160
·SHA1
·SNEFRU
·TIGER
考虑一个示例。假设希望立即加密用户在注册时所选定密码。可以使用 mhash()来实现。将
hash 参数设置为所选的散列算法,data 是要散列的密码:

 

<?php

   $userpswd = "mysecretpswd";

   $pswdhash = mhash(MHASH_SHA1, $userpswd);

   echo "The hashed password is: ".bin2hex($pswdhash);

?>

注意,必须使用 bin2hex()函数将散列从二进制模式转换为十六进制,这样才可以格式化
为易于在浏览器查看的样式。
通过可选参数 key , mhash()还能够确定消息的完整性和真实性。如果传入消息的秘密密钥,
mhash() 会通过返回消息的散列消息验证码(HMAC)来验证消息是否被篡改。可以将
HMAC 认为是加密数据的校验和。如果 HMAC 与消息中发布的相同,那么消息就没有被
篡改。