嗨我想生成数千个独特的不可预测的序列,所以我写了这个函数
function generate_serials($count){
$serials = array();
$token = '8uhf7+-=??/\/';
for($i = 1; $i <= $count; $i++){
$hash = sha1(md5( $token . ( time() + (432 * 1000) ) ));
$serial = '';
for($j = 0; $j < 12; $j++){
if($j == 4 || $j == 8) $serial .= '-';
$serial .= $hash[rand(0, 39)];
if(in_array($serial, $serials)){
$serial = '';
$j = 0;
}
}
$serials[] = $serial;
}
return $serials;
}
我对这种方法没有什么问题。
我不知道为什么,但我不相信这个。(因为我一直认为我的解决方案而且我很愚蠢)这有什么问题吗?
另一个问题是性能大约需要 20-30 秒,是自然的还是我弄得一团糟?
更新
哦,对不起,性能问题是内循环的计数器与外循环同名..我的错误!:D