uniqid

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

uniqid — GĂ©nĂšre un identifiant basĂ© sur le temps

Description

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

GénÚre un identifiant basé sur l'heure actuelle avec une précision à la microseconde, préfixé par le prefix donné et ajoutant éventuellement une valeur générée aléatoirement.

Attention

Cette fonction ne gĂ©nĂšre pas de valeurs cryptographiquement sĂ»res, et ne doit pas ĂȘtre utilisĂ©e Ă  des fins cryptographiques, ou Ă  des fins qui exigent que les valeurs renvoyĂ©es soient indĂ©chiffrables.

Si de l'alĂ©atoire cryptographiquement sĂ»re est requis, le Random\Randomizer peut ĂȘtre utilisĂ© avec le moteur Random\Engine\Secure. Pour des cas d'usage simple, les fonctions random_int() et random_bytes() fournissent une API pratique et sĂ»re qui est qui est soutenu par le CSPRNG du systĂšme d'exploitation.

Avertissement

Cette fonction ne garantit pas l'unicité de la valeur retournée car celle-ci est basée sur l'heure actuelle en microsecondes ou sur l'heure actuelle avec une petite quantité de données aléatoires ajoutées si more_entropy est true.

Liste de paramĂštres

prefix

Peut ĂȘtre utile, par exemple, pour identifier facilement diffĂ©rents hĂŽtes, si on gĂ©nĂšre simultanĂ©ment sur plusieurs hĂŽtes pouvant gĂ©nĂ©rer le mĂȘme identifiant Ă  la mĂȘme microseconde. (Cela peut se produire mĂȘme sur un seul hĂŽte si l'horloge systĂšme est dĂ©placĂ©e en arriĂšre, par exemple par un ajustement NTP.)

Sans prefix (préfixe vide), la chaßne retournée fera 13 caractÚres. Si more_entropy est à true, elle fera 23 caractÚres.

more_entropy

Si le paramÚtre optionnel more_entropy est true, uniqid() ajoutera une entropie "combined LCG" à la fin de la valeur retournée, ce qui augmente la probabilité de l'unicité du résultat.

Valeurs de retour

Retourne un identifiant basé sur l'horodatage, sous la forme d'une chaßne de caractÚres.

Avertissement

Cette fonction ne garantit pas l'unicité de la valeur retournée.

Exemples

Exemple #1 Exemple avec uniqid()

<?php
/* Un identifiant unique, comme : 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());

/* Nous pouvons également préfixer l'identifiant unique,
* ce qui revient Ă  :
*
* $uniqid = $prefix . uniqid();
* $uniqid = uniqid($prefix);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));

/* Nous pouvons aussi activer le paramĂštre more_entropy,
* requis par quelques systĂšmes, comme Cygwin. Ceci fera que
* uniqid() produira une valeur comme : 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>

Notes

Note:

Sous Cygwin, le paramĂštre more_entropy doit ĂȘtre passĂ© Ă  true pour que cette fonction fonctionne.

Voir aussi

  • random_bytes() - RĂ©cupĂšre des octets alĂ©atoires cryptographiquement sĂ©curisĂ©s
add a note

User Contributed Notes

There are no user contributed notes for this page.