기타 uniqid
(PHP 4, PHP 5, PHP 7, PHP 8)
uniqid — 고유 ID 생성
설명
uniqid(string $prefix
= "", bool $more_entropy
= false
): string
마이크로초 단위의 현재 시간을 기반으로 접두사가 붙은 고유 식별자를 가져옵니다.
주의 이 함수는 암호화된 보안 값을 생성하지 않으며 암호화 목적으로 사용해서는 안 됩니다. 암호학적으로 안전한 값이 필요한 경우 random_int(), random_bytes() 또는 openssl_random_pseudo_bytes()를 대신 사용하는 것이 좋습니다.
경고 이 함수는 반환 값의 고유성을 보장하지 않습니다. 대부분의 시스템은 NTP 등으로 시스템 시계를 조정하기 때문에 시스템 시간은 지속적으로 변경됩니다. 따라서 이 함수는 프로세스/스레드에 대한 고유 ID를 반환하지 않을 수 있습니다. 고유 가능성을 높이려면 more_entropy
를 사용하십시오.
매개변수
prefix
- 예를 들어 동일한 마이크로초에서 식별자를 생성할 수 있는 여러 호스트에서 동시에 식별자를 생성하는 경우 유용할 수 있습니다.
빈
prefix
를 사용하면 반환된 문자열의 길이는 13자입니다.more_entropy
가true
이면 23자가 됩니다. more_entropy
true
로 설정하면 uniqid()는 반환 값 끝에 추가 엔트로피(결합된 선형 합동 생성기 사용)를 추가하여 결과가 고유할 가능성을 높입니다.
반환 값
타임스탬프 기반 고유 식별자를 문자열로 반환합니다.
경고 이 함수는 고유한 식별자를 생성하려고 시도하지만 반환 값의 고유성을 100% 보장하지는 않습니다.
Examples
예제 #1 uniqid() 예제
<?php
/* A uniqid, like: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());
/* We can also prefix the uniqid, this the same as
* doing:
*
* $uniqid = $prefix . uniqid();
* $uniqid = uniqid($prefix);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* We can also activate the more_entropy parameter, which is
* required on some systems, like Cygwin. This makes uniqid()
* produce a value like: 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>
메모
참고: Cygwin에서 이 함수가 작동하려면 more_entropy
를 true
로 설정해야 합니다.