아래의 PHP 함수를 사용하여 this stack overflow page을 찾았지만 완벽하게 작동하지만 그 페이지에 대해 의견을 말하고 충분한 도움을 요청할 수있는 사용자 평판이 없습니다. 이것에 관한 새로운 질문.URL 뒤에 추가 할 고유 ID 생성
아래 코드에서 6 또는 8 문자 키를 생성하는 함수를 사용하면이 함수가 동일한 키를 두 번 생성하는 데 얼마나 걸릴 수 있습니까? 그것은 한 번 천/백만/십억 번인가? 당신이 필요로하는 모든 고유 ID 인 경우
이function crypto_rand_secure($min, $max) {
$range = $max - $min;
if ($range < 0) return $min; // not so random...
$log = log($range, 2);
$bytes = (int) ($log/8) + 1; // length in bytes
$bits = (int) $log + 1; // length in bits
$filter = (int) (1 << $bits) - 1; // set all lower bits to 1
do {
$rnd = hexdec(bin2hex(openssl_random_pseudo_bytes($bytes)));
$rnd = $rnd & $filter; // discard irrelevant bits
} while ($rnd >= $range);
return $min + $rnd;
}
function getToken($length){
$token = "";
$codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$codeAlphabet.= "abcdefghijklmnopqrstuvwxyz";
$codeAlphabet.= "";
for($i=0;$i<$length;$i++){
$token .= $codeAlphabet[crypto_rand_secure(0,strlen($codeAlphabet))];
}
return $token;
}
사용하는 최소값과 최대 값에 전적으로 달려 있습니다. –
충돌 가능성이 가장 적은 고유 ID를 생성하는 내장 함수가 여러 개있는 경우 휠을 다시 발명하는 이유 ... cfr'uniqid()','com_create_guid()', ... –