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