这是为URL创建简短UID的好方法吗?

时间:2010-11-03 15:02:16

标签: php url uniqueidentifier uid

嘿伙计们,我正在尝试找到一种方法来生成一个放置在URL中的UID。现在我正在寻找在不使用db的顺序索引的情况下创建UID的方法。这就是我想出来的。

据我所知,如果它们都是以相同的1/10000秒创建的,那么它应该只创建重复项。

function uid()
{
    list($usec, $sec) = explode(" ", microtime());

    $prec = 5;
    $usec = round($usec, $prec); 
    $sec = round($sec - ($sec / 1.001), $prec);

    $time = ($sec + $usec);

    return base_convert($time, 10, 36);
}

关于为什么这个功能是个坏主意的任何想法?

3 个答案:

答案 0 :(得分:0)

为什么不使用PHP的真正的uid功能?这应该提供真正唯一的标识符:http://php.net/manual/en/function.uniqid.php

对于符合v4的UUID,请查看以下主题:PHP function to generate v4 UUID

答案 1 :(得分:0)

嗯..也许是因为自动增量整数主要是为了这个? 仍有可能存在相同的ID

答案 2 :(得分:0)

不要重新发明轮子。像MD5,SHA1,CRC32等哈希函数最适合这种情况。请记住,哈希密钥越短,冲突的可能性就越大。