当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

5.15计算字符串的散列

9/17/2020 9:26:54 PM 人评论

5.15计算字符串的散列

5.15 计算字符串的散列

散列就是指把任意长度的输入(又叫做预映射),通过散列算法,变换成固定长度的输出,该输出就是散列值。

散列主要用于信息安全领域的加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,这个编码叫做散列值。也可以说,散列就是找到一种数据内容和数据存放地址之间的映射关系。常见的散列算法有MD5、SHA1等。

PHP中提供了对应的函数,完成对字符串做MD5散列计算的函数,也提供函数完成SHA1散列计算的函数,这两个函数分别是md5()和sha1(),下面分别加以简要说明。函数md5()的语法如下所示。


string md5(string$str)


该函数用来计算参数字符串$str的MD5散列。另外一个计算散列函数sha1()的语法如下所示。


string sha1(string$str)


该函数用来计算参数字符串$str的SHA1散列。代码5-22是这两个函数使用的示例程序。

代码5-22 使用函数md5()和sha1()计算字符串的散列值5-22.php


01 <?php

02 $str1='This is a secret';

03 $str2='root';

04

05 echo'原字符串:';

06 echo'<br/>';

07 echo'str1='.$str1;

08 echo'str2='.$str2;

09 echo'<br/>';

10 echo'<br/>';

11

12 echo'使用md5加密:';

13 echo'<br/>';

14 echo"md5($str1)=".md5($str1);//输出MD5值

15 echo'<br/>';

16 echo"md5($str2)=".md5($str2);//输出MD5值

17

18 echo'<br/>';

19 echo'<br/>';

20

21 echo'使用sha1加密:';

22 echo'<br/>';

23 echo"sha1($str1)=".sha1($str1);//输出SHA1值

24 echo'<br/>';

25 echo"sha1($str2)=".sha1($str2);//输出SHA1值

26 ?>


【代码解析】代码5-22的执行结果如图5-22所示。从中看出,无论原字符串的长度是多少,经过函数md5()和sha1()的计算,最终分别会得到长度一样的散列数值。

图 5-22 使用md5()和sha1()计算字符串散列

上一篇:5.14转换字符串到数组

下一篇:5.16小结

相关教程

共有条评论 网友评论

验证码: 看不清楚?