Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17757876
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-04-17 17:44:44

本函数库支持多种哈稀演算法,例如最出名的 md5、sha1 或 gost,还有其它多种的哈稀演算法,列示如下:

  • mhash_md5
  • mhash_sha1
  • mhash_haval
  • mhash_ripemd160
  • mhash_ripemd128
  • mhash_snefru
  • mhash_tiger
  • mhash_gost
  • mhash_crc32
  • mhash_crc32b

欲使用本函数库要先下载 mhash-x.x.x.tar.gz,网址为 。当然还要编译 mhash 程序库,之后才能编译 php 程序,在编译 php 程序时,记得要加 --with-mhash 选项打开系统的 mhash 功能。

本函数库适合用来产生检查码 (checksums)、数位代信息或者其它功能,如下例:

$input = "let us meet at 9 o' clock at the secret place." ;
$hash = mhash ( mhash_sha1 , $input );
print "哈稀值为 " . bin2hex ( $hash ). "\n" ;
?>

在浏览器看到的字符串是

哈稀值为 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。
$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 开始计数到使用的数值。本函数不用输入参数。
使用范例
$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 为欲计算的字符串值。

阅读(585) | 评论(0) | 转发(0) |
0

上一篇:杂项函数库

下一篇:数学运算函数库

给主人留下些什么吧!~~