Gültige v4-UUIDs in PHP generieren
Das richtige Format für die Generierung gültiger v4-UUIDs in PHP zu bestimmen, kann eine Herausforderung sein. Eine UUID (Universally Unique Identifier) muss einem bestimmten Muster entsprechen: „xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx“, wobei „y“ entweder eine 8, 9, A oder B darstellt.
Bestehende Lösung und Einschränkungen
Ein Lösungsversuch besteht darin, die UUID in Komponenten zu zerlegen und für jede eine Zufallszahlengenerierung zu verwenden Abschnitt. Der „y“-Wert wird jedoch nicht richtig eingestellt.
Korrektur der Funktion
Um dieses Problem zu beheben, müssen wir bestimmte Bitmanipulationen an den generierten Daten vornehmen . Gemäß RFC 4122 – Abschnitt 4.4 müssen die folgenden Bits geändert werden:
Aktualisierte Funktion
Hier ist die aktualisierte PHP-Funktion, die gültige v4-UUIDs generiert:
1 2 3 4 5 6 7 8 9 |
|
Zufällige Generierung Daten
Um ausreichend zufällige Daten zu generieren, wird empfohlen, beides zu verwenden openssl_random_pseudo_bytes() oder random_bytes() (für PHP 7 und höher). Für ältere PHP-Versionen kann openssl_random_pseudo_bytes() verwendet werden.
Das obige ist der detaillierte Inhalt vonWie generiere ich gültige v4-UUIDs in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!