기타 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_entropytrue이면 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_entropytrue로 설정해야 합니다.