« Linux: Dateien per SCP ohne Passworteingabe kopieren (SSH) | Startseite | Outlook 2007: Farbschema wechseln »
PHP: GUID erstellen (flexible Länge und Struktur)
Katrin | 28.07.2010
Um in PHP eine GUID (Globally Unique Identifier) zu erzeugen (wie Sie sie ggf. aus C# und anderen Programmiersprachen kennen), hilft Ihnen die folgende Funktion weiter:
function getGUID($len = 36) { $tmp = ""; $pos = array(8,13,18,23); while (strlen($tmp) < $len) $tmp .= md5(uniqid()); foreach ($pos as $p) if ($p <= $len) $tmp[$p] = "-"; return substr($tmp,0,$len); }
Ausgabe (Beispiel):
echo getGUID(); 3470b4e8-d6fe-1f76-6c09-0d31828e8a1d echo getGUID(20); 8b31eeb6-b451-a61d-f
Die Lage der Trennzeichen (“-”) können Sie durch das Array “$pos” bestimmen, die Länge der GUID durch den Parameter “$len”. Wenn Sie keinen Parameter übergeben, ist die GUID automatisch 36 Zeichen lang.
Kategorie: Anleitungen, php | 1 Kommentar »
04.11.2010 um 17:28
Gute Idee, aber leider durch das MD5 nicht eindeutig.
Immerhin wird durch das MD5 aus einem eindeutigen Wert, welcher von uniqid() zurückgegeben wird, ein Hash der bereits vorhanden sein kann. MD5 ist ja nun leider nicht eindeutig.
Sofern MD5 unbedingt zum Einsatz kommen soll, wäre eine Kombination möglich.
$uid = uniqid().md5(uniqid());
gruß André