uniqid
En esta página
uniqid
Genera un identificador basado en el tiempo
Descripción#
uniqid([string $prefix], [bool $more_entropy]): string
```php
Genera un identificador basado en la hora actual con una precisión a la microsegundo, prefijado por el `prefix` dado y añadiendo eventualmente un valor generado aleatoriamente.
> [!CAUTION]
> Esta función no genera valores criptográficamente seguros, y *no debe* ser utilizada con fines criptográficos, o con fines que requieran que los valores devueltos sean indescifrables.
>
> Si se requiere aleatoriedad criptográficamente segura, el `Random\Randomizer` puede ser utilizado con el motor `Random\Engine\Secure`. Para casos de uso simples, las funciones `random_int` y `random_bytes` proporcionan una API práctica y segura que es soportada por el CSPRNG del sistema operativo.
> [!WARNING]
> Esta función no garantiza la unicidad del valor devuelto ya que este se basa en la hora actual en microsegundos o en la hora actual con una pequeña cantidad de datos aleatorios añadidos si `more_entropy` es `true`.
## Parámetros
`prefix`
Puede ser útil, por ejemplo, para identificar fácilmente diferentes hosts, si se genera simultáneamente en varios hosts que pueden generar el mismo identificador en la misma microsegundo. (Esto puede ocurrir incluso en un solo host si el reloj del sistema se mueve hacia atrás, por ejemplo por un ajuste NTP.)
Sin `prefix` (prefijo vacío), la cadena devuelta tendrá 13 caracteres. Si `more_entropy` es `true`, tendrá 23 caracteres.
`more_entropy`
Si el parámetro opcional `more_entropy` es `true`, `uniqid` añadirá una entropía `"combined LCG"` al final del valor devuelto, lo que aumenta la probabilidad de la unicidad del resultado.
## Valores devueltos
Devuelve un identificador basado en el timestamp, en forma de `string`.
> [!WARNING]
> Esta función no garantiza la unicidad del valor devuelto.
## Ejemplos
Ejemplo con `uniqid`
```php
Notas#
[!NOTE] En Cygwin, el parámetro
more_entropydebe ser pasado atruepara que esta función funcione.
Véase también#
random_bytes