Forum und email

uniqid

(PHP 4, PHP 5)

uniqid — Erzeugt eine eindeutige ID

Beschreibung

string uniqid ([ string $Präfix [, bool $mehr_entropie ]] )

Gibt eine eindeutige ID mit Präfix zurück, die auf der aktuellen Zeit in Mikrosekunden basiert.

Parameter Liste

Präfix

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 Präfix ist die zurückgegebene Zeichenkette 13 Zeichen lang. Falls mehr_entropie TRUE ist, sind es 23 Zeichen.

mehr_entropie

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, durch die das Ergebnis noch eindeutiger werden sollte.

Rückgabewerte

Gibt eine eindeutige ID als Zeichenkette zurück.

Beispiele

Wenn Sie eine eindeutige ID, bzw. ein eindeutiges Token benötigen und beabsichtigen, dieses Token über das Netzwerk an den Benutzer weiter zu leiten (z.B. als Session-Cookies), ist es ratsam, dass Sie wie folgt vorgehen:

Hierdurch wird eine ID mit 32 Zeichen (ein 128 Bit-Hex-Wert) erzeugt, die nur äußerst schwer vorhersehbar ist.

Example#1 uniqid() Beispiel

<?php
// ohne Präfix
// funktioniert nur mit PHP 5 und späteren Versionen
$token md5(uniqid());

// besser, schwierig zu erraten
$besseres_token md5(uniqid(rand(), true));
?>

ChangeLog

Version Beschreibung
5.0.0 Den Parameter Präfix optional gemacht
4.3.1 Das Limit von 114 Zeichen für Präfix erhöht