Ich versuche, eine eindeutige ID in PHP zu generieren, um von Benutzern hochgeladene Inhalte auf einem FS ohne Konflikte zu speichern. Ich bin mit PHP, und im Moment dieser kleine Schnipsel ist verantwortlich für die Erzeugung der UID:Generieren einer eindeutigen ID in PHP
$id = tempnam (".", "");
unlink($id);
$id = substr($id, 2);
Dieser Code ist scheußlich: es eine temporäre Datei auf dem FS erstellt und löscht es, nur den entsprechenden eindeutigen Halteteil der generierten Zeichenfolge.
Gibt es einen besseren Weg dies zu tun, am besten ohne externe Abhängigkeiten?
Vielen Dank!
würde es nicht Hash mit MD5 tatsächlich machen es wahrscheinlicher, Kollisionen zu erzeugen? – nickf
Ich wollte das gerade sagen. Sha1 hat weniger Kollisionen, aber dieses Problem gibt es definitiv beim Hashing. Denken Sie daran: Je länger Sie die eindeutige ID machen, und je öfter Sie etwas "zufällig" machen, desto geringer ist die Wahrscheinlichkeit einer Kollision. –
Eigentlich sehe ich, Sie sind Punkt, Sie wollten eine ID nicht einen Token-Wert ... EDITED. –