本函数库支持多种哈稀演算法,例如最出名的 MD5、SHA1 或 GOST,还有其它多种的哈稀演算法,列示如下:
欲使用本函数库要先下载 mhash-x.x.x.tar.gz,网址为 http://sasweb.de/mhash 。当然还要编译 mhash 程序库,之后才能编译 PHP 程序,在编译 PHP 程序时,记得要加 --with-mhash 选项打开系统的 mhash 功能。 本函数库适合用来产生检查码 (checksums)、数位代信息或者其它功能,如下例: <?php 在浏览器看到的字符串是 哈稀值为 d3b85d710d8f6e4e5efd4d5e67d041f9cecedafe |
mhash_get_hash_name: 取得哈稀演算法名称。
mhash_get_block_size: 取得哈稀方式的区块大小。
mhash_count: 取得哈稀 ID 的最大值。
mhash: 计算哈稀值。
mhash_get_hash_name
取得哈稀演算法名称。
语法: string mhash_get_hash_name(int hash);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数取得哈稀演算法的名称。返回值为名称字符串,若没有指定的哈稀演算法则返回 false 或输入的名称。
使用范例
下例返回的字符串为 MD5。
<?php
$hash = MHASH_MD5;
print mhash_get_hash_name($hash);
?>
mhash_get_block_size
取得哈稀方式的区块大小。
语法: int mhash_get_block_size(int hash);
返回值: 整数
函数种类: 编码处理
内容说明: 本函数用来取得哈稀演算的区块大小。参数为编码名称,返回整数治募?单位为位组 (byte)。
mhash_count
取得哈稀 ID 的最大值。
语法: int mhash_count(void);
返回值: 整数
函数种类: 编码处理
内容说明: 本函数用来取得哈稀演算的最大 ID 值。在使用哈稀计算时,会从 0 开始计数到使用的数值。本函数不用输入参数。
使用范例
<?php
$nr = mhash_count();
for($i = 0; $i <= $nr; $i++) {
echo sprintf("哈稀 %s 的区块大小为 %d\n", mhash_get_hash_name($i), mhash_get_block_size($i));
}
?>
mhash
计算哈稀值。
语法: string mhash(int hash, string data);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数依指定的哈稀演算法计算哈稀值。参数 hash 为指定的哈稀演算法;参数 data 为欲计算的字符串值。