动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

 mhash 哈稀函数库

作者来源: 
阅读 1504 人次 , 2006-3-29 4:06:00 


本函数库支持多种哈稀演算法,例如最出名的 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,网址为 http://sasweb.de/mhash 。当然还要编译 mhash 程序库,之后才能编译 php 程序,在编译 php 程序时,记得要加 --with-mhash 选项打开系统的 mhash 功能。

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

<?php
$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。
<?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 为欲计算的字符串值。

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:杂项函数库
· 下一篇:mcrypt 编码函数库
· Apache 2.0.35和PHP 4.3-Dev的集成
· 环境需求与准备工作
· 建立PHP的本地调试环境
· 数组处理函数库
· php调用ms sql存储过程


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077