首页 > 编程技术 > php

php中常用hash加密函数

发布时间:2016-11-25 16:49

*/
$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);          //输出结果

substr_compare() 函数从指定的开始长度比较两个字符串。

该函数返回:

0 - 如果两字符串相等
<0 - 如果 string1 (从开始位置)小于 string2
>0 - 如果 string1 (从开始位置)大于 string2
语法
substr_compare(string1,string2,startpos,length,case)

*/
$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=substr_compare($str1,$str2,1,10);      //执行比较操作
echo $result;           //输出结果,1
/*
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。

在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。


*/

$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strnatcasecmp($str1,$str2);       //执行比较操作
echo $result;           //输出结果,0

/*
strncasecmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strncasecmp(string1,string2,length)
*/
$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strncasemp($str1,$str2,7);       //执行比较操作
echo $result;           //输出结果,0

/*
strncmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strncmp(string1,string2,length)
*/

$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strncmp($str1,$str2,7);        //执行比较操作
echo $result;           //输出结果,1

/*
strcoll() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
字符串的比较会根据本地设置而变化。(a<a 或 a>a)。

语法
strcoll(string1,string2)
*/

$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strcoll($str1,$str2);        //执行比较操作
echo $result;           //输出结果,1

similar_text() 函数计算两个字符串的匹配字符的数目。

该函数也可以计算两个字符串的相似度(以百分比计)。

语法
similar_text(string1,string2,percent)

注释:levenshtein() 函数比 similar_text() 函数更快。不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果。

下面看实例
*/
$str1="hello world";          //定义字符串1
$str2="hello peter";          //定义字符串2
$result=similar_text($str1,$str2);       //进行比较
echo $result;  //输出比较后的结果

/*
strnatcmp() 函数使用一种"自然"算法来比较两个字符串。

在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strnatcmp(string1,string2)

注释:该函数对大小写敏感。


*/  

$str1="hello world";         //定义字符串1
$str2="hello world";         //定义字符串2
$result=strnatcmp($str1,$str2);      //执行比较操作
echo $result;          //输出比较结果

/*
strcasecmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strcasecmp(string1,string2)

注释:该函数是二进制安全的,且对大小写不敏感。

*/

$str1="hello world";         //定义字符串1
$str2="hello world";         //定义字符串2
$result=strcasecmp($str1,$str2);      //执行比较操作
echo $result;          //输出比较结果  

parse_str() 函数把查询字符串解析到变量中。

语法
parse_str(string,array)
注释:如果未设置 array 参数,由该函数设置的变量将覆盖已由同名变量。


*/

parse_str("id=23&name=john%20adams");
echo $id."<br />";
echo $name;

//23
//john

$str="first=value&arr[]=foo+bar&arr[]=baz";    //定义字符串
parse_str($str);          //把字符串解析为变量
echo $first;          //输出$first的值value
echo "<br>";
echo $arr[0];          //输出$arr[0]的值foo bar
echo "<br>";
echo $arr[1];          //输出$arr[1]的值baz
echo "<br>";
parse_str($str,$output);        //把字符串解析的变量存储在$output中
echo $output['first'];         //输出$first的值value
echo "<br>";
echo $output['arr'][0];         //输出$arr[0]的值foo bar
echo "<br>";
echo $output['arr'][1];         //输出$arr[1]的值baz

/*

注释:php教程.ini 中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

*/
$str="hello world";          //定义字符串
$result=str_word_count($str);        //查找单词个数
echo $result;           //输出的结果
echo "<br>";
$result=str_word_count($str,1);        //返回数组
print_r($result);           //输出结果数组

/*
str_word_count() 函数计算字符串中的单词数。

语法
str_word_count(string,return,char)参数 描述
string 必需。规定要检查的字符串。
return 可选。规定 str_word_count() 函数的返回值。

可能的值:

0 - 默认。返回找到的单词的数目。
1 - 返回包含字符串中的单词的数组。
2 - 返回一个数组,其中的键是单词在字符串中的位置,值是实际的单词。
 
return 可选。规定被认定为单词的特殊字符。该参数是 php教程 5.1 中新加的。

标签:[!--infotagslink--]

您可能感兴趣的文章: