您好我需要一个randomString来创建用户密钥
<?php
function generateRandomString($length = 32) {
$characters = '0123456789abcdef';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
generateRandomString();
?>
这是人们使用随机字符串进行访问的URL http://www.mypage.com/index.php?User_key=generateRandomString()&User=6487592&User_type=0
其中generateRandomString()对于每次刷新都是唯一的。我有什么方法可以做到这一点吗?
非常感谢
答案 0 :(得分:1)
生成随机字符串的最佳方法是使用散列函数。 PHP有哈希:http://php.net/manual/en/function.hash.php。
传递给哈希值的值可以是当前时间,因此它总是随机的:
hash('md5', time()) // "723ee904fd6de114fd11c1b13f6de3f5"
所以你的功能看起来像是:
<?php
function generateRandomString() {
return hash('md5', time());
}
generateRandomString();
?>
答案 1 :(得分:0)
如果您想自己生成随机数,可以使用以下代码:
function random_str($length, $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
$str = '';
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
$str .= $keyspace[mt_rand(0, $max)];
}
return $str;
}
echo random_str(5);//input digits required in random no
例如:这会给你一个5位数的随机号码。
答案 2 :(得分:0)
尝试使用此代码行生成它
function generateRandomString($userID){
return md5(uniqid($userID, true);
}