ULID-Generator
Generieren Sie ULIDs (Universally Unique Lexicographically Sortable Identifiers). 26 Zeichen, URL-sicher, zeitsortierbar und kompatibel mit UUIDs.
ULID generieren
Sortierbare eindeutige Identifikatoren erstellen
Generierte ULIDs
Klicken Sie auf "ULIDs generieren", um eindeutige Identifikatoren zu erstellen
Häufig gestellte Fragen
Was ist eine ULID?
Eine 26-stellige Kennung, die einen 48-Bit-Millisekunden-Zeitstempel und 80 Bit Zufälligkeit enthält, sodass IDs nach Erstellungszeit sortiert werden.
Warum ULID gegenüber UUID wählen?
ULIDs werden lexikografisch nach Zeit sortiert, sind kürzer, und verwenden Sie URL-sicheres Crockford Base32 ohne zu verwaltende Bindestriche.
Kann ich der Reihenfolge vertrauen?
Über verschiedene Millisekunden hinweg, ja. Innerhalb derselben Millisekunde ist die Reihenfolge zwischen zwei ULIDs nicht garantiert.
Funktionieren ULIDs dort, wo UUIDs verwendet werden?
Sie fallen in die meisten Zeichenfolgenspalten und APIs und die Konvertierung zwischen ULID und UUID ist unkompliziert, wenn beide Formate koexistieren müssen.
Wie lang ist eine ULID und welche Zeichen verwendet sie?
Jede ULID ist genau 26 Zeichen lang und verwendet Crockford Base32, das die Ziffern 0-9 sowie die Buchstaben A-Z mit Ausnahme von I, L, O und U umfasst. Diese feste Länge hält die Größen von Datenbankspalten vorhersehbar und vermeidet mehrdeutige Zeichen, wenn IDs vorgelesen oder manuell eingegeben werden.
Sind ULIDs unbedenklich in URLs und Dateinamen verwendbar?
Ja. ULIDs enthalten nur Großbuchstaben und Ziffern – ohne Bindestriche, Schrägstriche oder Symbole – und laufen daher ohne Prozent-Kodierung problemlos durch URLs, Pfadsegmente und Dateinamen. Die Länge von 26 Zeichen passt zudem bequem in Routenmuster und Logzeilen.
Wie viele ULIDs können in derselben Millisekunde generiert werden?
Der 80-Bit-Zufallsbereich liefert rund 2^80 Werte pro Millisekunde, wodurch Kollisionen praktisch ausgeschlossen sind. Wenn Ihre Anwendung mehrere IDs innerhalb einer Millisekunde erzeugt, verwenden Sie den monotonen Modus, der den Zufallsteil um eins erhöht, damit die Sortierreihenfolge erhalten bleibt.
Wie lese ich den Zeitstempel aus einer ULID?
Die ersten 10 Zeichen codieren den Unix-Zeitstempel in Millisekunden, während die übrigen 16 Zeichen zufällig sind. Dekodieren Sie diese 10 Zeichen aus Crockford Base32 in eine Zahl und konvertieren Sie sie anschließend mit einem beliebigen Unix-Zeitstempel-Tool, um die genaue Erstellungszeit zu erhalten.
ULID-Struktur
Jede ULID besteht aus zwei Teilen: Zeitstempel und Zufälligkeit
01ARZ3NDEKTSV4RRFFQ69G5FAV
Beispiel: Diese ULID wurde zu einer bestimmten Millisekunde generiert und enthält 80 Bits Zufälligkeit
Zeitstempel (48 Bits)
Millisekunden seit Unix-Epoche (1970-01-01). Bietet zeitgeordnete Sortierung und reicht bis zum Jahr 10889.
Zufälligkeit (80 Bits)
Kryptografisch sicherer Zufallswert. Bietet 1,21 Trillionen eindeutige IDs pro Millisekunde.
Technische Spezifikationen
ULID ist so konzipiert, dass es sortierbar, URL-sicher und kompatibel mit UUIDs ist
Funktionen
- Kryptografisch sichere Zufälligkeit
- Ausschließlich clientseitige Generierung
- Lexikografisch sortierbar
- Keine Sonderzeichen (URL-sicher)
Spezifikationen
- 26 Zeichen (128 Bits)
- Crockford Base32-Kodierung
- 48-Bit-Zeitstempel + 80-Bit-Zufälligkeit
- 1,21M IDs pro Millisekunde
Referenzen & Ressourcen
-
ULID Specification - GitHub
Die sortierbare ULID-Spezifikation – eindeutige Bezeichner mit Zeitstempel-Präfix.
-
Universally Unique Identifier - Wikipedia
Allgemeine Referenz zu universell eindeutigen Bezeichnern (UUIDs) und ihren Varianten.