HTML中间的随机Srting

时间:2015-10-08 16:00:44

标签: php

您好我需要一个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()对于每次刷新都是唯一的。我有什么方法可以做到这一点吗?

非常感谢

3 个答案:

答案 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);               
 }