uniqid
(PHP 4, PHP 5)
uniqid — Generar un ID único
Descripción
$prefix = ""
[, bool $more_entropy = false
]] )Obtiene un identificador único prefijado basado en la hora actual en microsegundos.
Esta función no crea valores de tipo string aleatorios ni impredecibles. Esta función no debe usarse con propósitos de seguridad. Use una función o generador aleatorios criptográficamente seguros y funciones hash criptográficamente seguras para crear ID de segurdidad impredecibles.
Parámetros
-
prefix -
Puede ser útil, por ejemplo, si se generan identificadores simultáneamente en varios hosts que podrían, por casualidad, generar el identificador en el mismo microsegundo.
Con un
prefixvacío, el string devuelto tendrá una longitud de 13 caracteres. Simore_entropyesTRUE, tendrá 23 caracteres. -
more_entropy -
Si está establecido a
TRUE, uniqid() añadirá entropía adicional (usando el generador congruente lineal combinado) al final del valor retornado, lo que incrementará la posibilidad de que el resultado sea único.
Valores devueltos
Devuelve el identificador único, como string.
Ejemplos
Ejemplo #1 Ejemplo de uniqid()
<?php
/* Un id único, como: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());
/* También podemos prefijar el id único, esto es lo mismo que
* hacer:
*
* $uniqid = $prefijo . uniqid();
* $uniqid = uniqid($prefijo);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* También podemos activar el parámetro more_entropy, que es
* necesario en algunos sistemas, como Cygwin. Esto hace que uniqid()
* produzca un valor como: 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>
Notas
Esta función no genera tokens criptográficamente seguros, de hecho, el valor devuelto, sin pasar ningún parámetro adicional, es ligeramente diferente del de microtime(). Si fuera necesario generar tokens criptográficamente seguros utilice openssl_random_pseudo_bytes().
Nota:
Bajo Cygwin,
more_entropydebe ser establecido aTRUEpara que esta función funcione.