首页 >后端开发 >php教程 >PHP如何生成随机字符串?使用哈希函数

PHP如何生成随机字符串?使用哈希函数

青灯夜游
青灯夜游原创
2018-12-25 17:53:245039浏览

PHP如何生成随机字符串?本篇文章就给大家介绍PHP使用rand()函数+哈希函数生成随机字符串的方法,下面就开始具体内容,希望对大家有所帮助。

PHP如何生成随机字符串?使用哈希函数

在PHP中有一些函数,如md5(),sha1()和hash(),可用于根据某些算法来对字符串进行哈希(Hash)处理。哈希函数可以将一个字符串作为参数,然后返回一个哈希字符串。

首先我们通过一个简单的是来看看rand()函数+哈希函数如何生成随机字符串。

<?php 
header("content-type:text/html;charset=utf-8"); 
echo "PHP生成随机字符串:<br><br>";
$str=rand(); 
$md5=md5($str); 
$sha1=sha1($str);
$hash=hash(&#39;gost&#39;,$str);

echo "md5()函数:<br>"; 
echo $md5; 
echo "<br><br>"; 

echo "sha1()函数<br>"; 
echo $sha1; 
echo "<br><br>"; 

echo "hash()函数<br>"; 
echo $hash; 
echo "<br><br>"; 
?>

效果图:

PHP如何生成随机字符串?使用哈希函数

当我们不断刷新页面,则输出的字符串是不同的,动态效果:

1.gif

下面我们来介绍一下使用到的php函数。

rand()函数:可以随机生成一个整数,它可以同时接受两个参数(min,max)用来限制随机的范围。

md5()函数:对string参数进行MD5算法的处理,返回一个MD5 散列。它有两个参数,分别为

$string参数:必需值,需要计算的字符串。

$raw参数:可选值,定义输出格式,可能有的值为:TRUE--输出原始 16 字符二进制格式;FALSE--输出32 字符十六进制数,默认值。

sha1()函数:对string参数进行美国 Secure Hash 算法 1处理,返回一个SHA-1 散列。

它同样有两个参数(参考md5()函数,$raw参数的TRUE值输出原始 20 字符二进制格式,FALSE值输出40 字符十六进制数)

hash()函数:对string参数进行特点的算法处理,返回一个散列字符串。

它最多需要三个参数,如下所示:

$algo参数:必需值,定义需要使用散列算法。PHP共有46个注册哈希算法,其中“sha1”,“sha256”,“md5”,“haval160,4”是最受欢迎的算法。

$string参数:必需值,定义需要进行哈希处理的字符串。

$getRawOutput参数:可选参数,定义输出格式。TRUE值,表示函数以原始二进制格式返回哈希值;FALSE值,表示函数以小写十六进制字符序列返回哈希值。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上是PHP如何生成随机字符串?使用哈希函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn