在php中生成一个唯一值

时间:2015-05-23 07:24:29

标签: php html function md5 uniqueidentifier

我正在考虑用于在php中生成5个字符的唯一字符串的选项。或者,如果有人有更好的选择。我不确定substr是否会真正降低唯一性的可靠性。所有建议都表示赞赏。

选项1:

$unique_id=substr(md5(time()), -5);

OR

选项2:

$unique_id=substr(uniqid, -5);

3 个答案:

答案 0 :(得分:0)

这个内置的php功能可以帮到你。

rand(min,max);

答案 1 :(得分:0)

就个人而言,我会选择第一个选项,而是使用更像的东西:

md5(uniqid(rand(),true))

答案 2 :(得分:-1)

使用,如@Sagar所说,

rand(min,max);

然后将值存储在数据库中。在您向用户提供随机数之前,请检查它是否已存在于数据库中。如果没有,请继续并插入数据库。

这样的事情:

$rand = rand(min,max);

    $sql = "SELECT randomNum FROM users WHERE randomNum = '$rand'";
    $result = mysql_query($sql);
    $count = mysql_num_rows($result);

    if ($count != 1){
        //insert to database
    }