(PHP 4, PHP 5, PHP 7, PHP 8)
uniqid — Erzeugt eine eindeutige ID
Gibt eine eindeutige ID mit Präfix zurück, die auf der aktuellen Zeit in Mikrosekunden basiert.
Diese Funktion erzeugt keine kryptografisch sicheren Werte und darf nicht für kryptografische Zwecke verwendet werden oder für Zwecke, bei denen die zurückgegebenen Werte nicht abschätzbar sein dürfen.
Falls kryptographisch sichere Zufallszahlen benötigt werden, kann der Random\Randomizer mit der Random\Engine\Secure-Engine verwendet werden. Für einfache Anwendungsfälle bieten die Funktionen random_int() und random_bytes() eine bequeme und sichere API, die den CSPRNG des Betriebssystems verwendet.
Diese Funktion garantiert nicht die Eindeutigkeit der Rückgabewerte. Da die meisten System die Systemzeit durch NTP oder ähnlich justieren, ändert sich die Systemzeit kontinuierlich. Daher ist es möglich, dass diese Funktion keine eindeutige ID für den Prozess/Thread zurückgibt. more_entropy
kann verwendet werden, um die Wahrscheinlichkeit der Eindeutigkeit zu erhöhen.
prefix
Kann z. B. dann hilfreich sein, wenn Sie auf mehreren Hosts gleichzeitig IDs erzeugen, was im ungünstigsten Fall zur selben Mikrosekunde geschehen kann.
Bei leerem prefix
ist die zurückgegebene Zeichenkette 13 Zeichen lang. Falls more_entropy
true
ist, sind es 23 Zeichen.
more_entropy
Falls dieser Parameter auf true
gesetzt ist, wird uniqid() am Ende des Rückgabewertes zusätzliche mit dem Kongruenzgenerator für Pseudozufallszahlen (Combined Linear Congruential Generator) erzeugte Entropie anfügen, wodurch die Wahrscheinlichkeit erhöht wird, dass das Ergebnis eindeutig ist.
Gibt eine zeitstempelbasierte eindeutige ID als Zeichenkette zurück.
Diese Funktion versucht eine eindeutige Kennung zu erzeugen, aber sie garantiert nicht die hunderprozentige Eindeutigkeit des Rückgabewerts.
Beispiel #1 uniqid()-Beispiel
<?php
$uniqid = uniqid();
$uniqid = uniqid($prefix);
$uniqid = $prefix . uniqid();
$uniqid = uniqid('', true);
Hinweis:
Unter Cygwin muss der Parameter
more_entropy
auftrue
gesetzt sein, damit die Funktion arbeitet.