1

大家好,我正在尝试找到一种方法来生成要放置在 URL 中的 UID。现在我正在寻找在不使用数据库中的顺序索引的情况下创建 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);
}

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

4

3 回答 3

0

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

至于符合 v4 的 UUID,请查看此主题:PHP function to generate v4 UUID

于 2010-11-03T15:06:59.597 回答
0

好吧..也许是因为自动增量整数主要是为了这个?仍然有可能相同的身份

于 2010-11-03T15:08:53.420 回答
0

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

于 2010-11-03T15:23:55.527 回答