php常用hash加密函数

yipeiwu_com7年前PHP代码库

本文实例讲述了php常用hash加密函数。分享给大家供大家参考。具体分析如下:

复制代码 代码如下:
$hash_list=hash_algos();  //返回注册的hash规则列表

print_r($hash_list); //显示结果

创建文件以计算哈希值:file_put_contents('example.txt', 'the quick brown fox jumped over the lazy dog.');

输出哈希值信息:

复制代码 代码如下:
echo hash_file('md5', 'example.txt');
 
$str="the quick brown fox jumped over the lazy dog.";      //定义字符串
echo hash('ripemd160',$str);           //生成哈希值
 
$ctx=hash_init('md5');          //初始化一个hash值
hash_update($ctx,'the quick brown fox');       //向哈希值灌注数据
hash_update($ctx,'jumped over the lazy dog.');      //向哈希值灌注数据
echo hash_final($ctx);          //输出最后的结果
 
$str="the quick brown fox jumped over the lazy dog.";    //定义字符串
$fp=tmpfile();            //创建一个临时文件
fwrite($fp,$str);            //将字符串写入到临时文件
rewind($fp);            //倒回文件指针的位置
$ctx=hash_init('md5');          //初始化一个hash值
hash_update_stream($ctx,$fp);         //向数据流中灌注数据
echo hash_final($ctx);          //输出结果
 
 
$str="the quick brown fox jumped over the lazy dog.";    //定义字符串
echo hash_hmac('ripemd160',$str,'secret');      //生成包含密钥的hash值
 
/*创建一个文件并将字符串写入其中*/
$file="example.txt";          //定义文件名
$str=" the quick brown fox jumped over the lazy dog.";   //定义字符串
file_put_contents($file,$str);        //向文件中写入字符串
echo hash_hmac_file('md5',$file,'secret');      //生成一个包含密钥的hash值
 
$ctx=hash_init('sha1');          //定义字符串
hash_update($ctx,'the quick brown fox jumped over the lazy dog.');  //向哈希值中灌注数据
echo hash_final($ctx);  //输出结果

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

php生成图片缩略图的方法

本文实例讲述了php生成图片缩略图的方法。分享给大家供大家参考。具体如下: 这里需要用到GD2 library function make_thumb($src,$dest,$des...

PHP取整函数:ceil,floor,round,intval的区别详细解析

我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。 ceil -- 进一法取整说明float ceil ( float value ) 返回不小于 v...

PHP+iframe模拟Ajax上传文件功能示例

PHP+iframe模拟Ajax上传文件功能示例

本文实例讲述了PHP+iframe模拟Ajax上传文件功能。分享给大家供大家参考,具体如下: 在xmlhttprequest level 1中,Ajax是不能够上传文件的,因为js不能操...

浅析PHP原理之变量分离/引用(Variables Separation)

首先我们回顾一下zval的结构:复制代码 代码如下:struct _zval_struct {       &nbs...

举例详解PHP脚本的测试方法

一、常用测试示例 我们经常会遇到这种情况:将一些没有经过任何测试的遗留代码进行重新编写测试,甚至这些代码还是用面向对象写的。要对这样的代码进行测试,我的建议是把代码分解成块,这样就容易测...