生成无冲突的随机字符串


generating random string which is collision free

我正在使用以下代码生成随机字符串,然后将其插入数据库,我想知道它是否没有冲突?有没有更好的方法可以避免碰撞?

function generate_random_name() 
{
$length = 12;
$charactersa = "mRdxIU2r3dxa1B2c3D4e5F6g7H8i9Jqk1L2m13N1oF5P6qW7R1Ls9T20u21V2w3X4y2Z2x6";
$real_string_legntha = strlen($charactersa) - 1;
$stringa=rand(12345,09876);
for ($oluvica = 0; $oluvica < $length; $oluvica++)
{
    $stringa .= $charactersa[mt_rand(0, $real_string_legntha)];
}
return $stringa;
}
$unique = generate_random_name();

使用uniqid()[启用more entropy标志]和time()

<?php
echo uniqid(time(), true); 

这就足够了。像sha-256和sha-512这样的耦合散列将产生更独特的输出。

更多info