我需要使用PHP生成一个字符串,它需要是唯一的,需要 4到8个字符(变量的值).
我以为我可以使用crc32哈希但我无法确定多少个字符,但肯定它会是唯一的.另一方面只创建一个"密码生成器"将生成重复的字符串,并检查表中的值,每个字符串将需要一段时间.
我怎样才能做到这一点?
也许我可以用它:
function unique_id(){
$better_token = md5(uniqid(rand(), true));
$unique_code = substr($better_token, 16);
$uniqueid = $unique_code;
return $uniqueid;
}
$id = unique_id();
Run Code Online (Sandbox Code Playgroud)
改为:
function unique_id($l = 8){
$better_token = md5(uniqid(rand(), true));
$rem = strlen($better_token)-$l;
$unique_code = substr($better_token, 0, -$rem);
$uniqueid = $unique_code;
return $uniqueid;
}
echo unique_id(4);
Run Code Online (Sandbox Code Playgroud)
你认为我每次都会获得独特的弦乐吗?
我需要生成一个8个字符的随机字母数字字符串.所以看起来应该有点像b53m1isM.大写和小写,字母和数字.
我已经有一个运行八次的循环,我想要它做的是在每次迭代时将一个字符串与一个新的随机字符连接起来.
这是循环:
$i = 0;
while($i < 8)
{
$randPass = $randPass + //random char
$i = $i + 1;
}
Run Code Online (Sandbox Code Playgroud)
有帮助吗?