uniqid

(PHP 4, PHP 5, PHP 7, PHP 8)

uniqidGera um ID único

Descrição

uniqid(string$prefix = "", bool$more_entropy = false): string

Obtém um identificador prefixado único baseado no tempo atual em microsegundos.

Cuidado

Esta função não gera valores criptograficamente seguros e não deve ser usada para propósitos criptográficos ou fins que exijam que os valores retornados sejam impossíveis de adivinhar.

Se aleatoriedade criptograficamente segura for necessária, a classe Random\Randomizer pode ser usada com o mecanismo Random\Engine\Secure. Para casos de uso simples, as funções random_int() e random_bytes() fornecem uma API conveniente e segura que é garantida pelo CSPRNG do sistema operacional.

Aviso

Esta função não garante a repetição do valor retornado. Isso ocorre porque muitos sistemas ajustam seus relógios utilizando o NTP ou similares de forma que o horário do sistema é alterado constantemente. Portanto é possível que esta função não retorna um ID único mesmo no nível do processo ou thread. Utilize Use more_entropy para aumentar as chances de não repetição.

Parâmetros

prefix

Útil para gerar identificadores simultaneamente em vários servidores, que poderiam gerar o mesmo identificador no mesmo microsegundo.

Com um prefix vazio, a string retornada terá 13 caracteres. Se more_entropy for true, a string terá 23 caracteres.

more_entropy

Se informado como true, uniqid() irá adicionar entropia (utilizando um gerador linear congruente) ao final do do valor retornado, o que aumentará as chances que o resultado seja globalmente único.

Valor Retornado

Retorna um identificador único baseado no timestamp, como uma string.

Aviso

Esta função tenta criar um identificador único, mas não garante a unicidade global em 100% dos casos.

Exemplos

Exemplo #1 uniqid() Example

<?php

printf("uniqid(): %s\r\n", uniqid());


printf("uniqid('php_'): %s\r\n", uniqid('php_'));


printf("uniqid('', true): %s\r\n", uniqid('', true));
?>

Notas

Nota:

Sob o Cygwin, o parâmetro more_entropy deve ser configurado como true para que essa função funcione.

Veja Também

To Top