ULID- und NanoID-Generator
ULID & NanoID Generator
Erzeugt sortierbare ULIDs oder kurze NanoIDs mit gewähltem Alphabet und Länge und zeigt die Kollisionswahrscheinlichkeit.
Erzeugt ULIDs und NanoIDs – die beiden Kurz-ID-Formate, zu denen man greift, wenn eine 36 Zeichen lange UUID für eine URL zu lang ist. Es zeigt auch die Kollisionsrechnung für die gewählte Länge und das gewählte Alphabet, den Teil, der entscheidet, ob die ID kurz genug oder zu kurz ist.
26 Zeichen, sortierbar, mit einem Millisekunden-Zeitstempel in den ersten zehn.
0 IDs
Wie wahrscheinlich ist eine Kollision
Entropie
80,0 Bit
IDs bis zu 1 % Wahrscheinlichkeit
1,56e11
Bei 1.000 pro Stunde
18 Tausend Jahre
Die Geburtstagsschranke: P ≈ 1 − exp(−n²/2N). Die Zahl darunter ist der Punkt, an dem das ein Prozent erreicht.
Eine ULID zerlegen
ULIDs folgen der ULID-Spezifikation: 48 Bit Millisekunden-Zeitstempel, dann 80 Zufallsbits, in Crockfords Base32 – das I, L, O und U auslässt, damit sich niemand beim Vorlesen vertut.
So funktioniert es
Wählen Sie ULID oder NanoID
Eine ULID hat feste 26 Zeichen mit einem Millisekunden-Zeitstempel in den ersten zehn, sie sortiert also. Eine NanoID hat beliebige Länge über beliebigem Alphabet und ist reine Entropie – nichts an ihr ist geordnet.
Legen Sie Länge und Alphabet fest
Für NanoID sind es standardmäßig 21 Zeichen über 64 Symbolen. Eine kürzere ID oder ein kleineres Alphabet – etwa ein Satz ohne verwechselbare Zeichen für etwas, das vorgelesen wird – kostet Entropie, und das Panel darunter zeigt genau, wie viel.
Lesen Sie die Kollisionszeile
Sie nennt die Zahl der IDs bis zu einer einprozentigen Wahrscheinlichkeit irgendeiner Kollision, und wie lange das bei tausend pro Tag dauert. Unter 64 Bits Entropie sagt die Seite das, denn das ist die Grenze zwischen einem URL-Slug und etwas, das nicht erratbar sein darf.
Dekodieren Sie eine ULID, wenn Sie eine haben
Fügen Sie sie ein, und das Panel gibt die Erstellungszeit und den zufälligen Rest aus – nützlich, um herauszufinden, wann ein Datensatz tatsächlich angelegt wurde.
Häufige Fragen
Ist eine kurze ID als geheimer Link sicher?
Nur wenn ihre Entropie das hergibt. Eine 21 Zeichen lange NanoID hat etwa 126 Bits und ist in Ordnung; eine 10 Zeichen lange hat rund 60 und ist für jeden erratbar, der bereit ist, Geld auszugeben. Die Seite markiert alles unter 64 Bits aus genau diesem Grund – eine kurze ID ist eine kurze ID, kein Geheimnis.
Warum ist ein eigenes Alphabet trotzdem gleichverteilt?
Weil Symbole per Rejection Sampling gezogen werden und nicht mit `random % length`. Die Modulo-Abkürzung verzerrt jedes Alphabet, dessen Länge 256 nicht teilt – der übliche Bug in selbst gebauten ID-Generatoren, unsichtbar, bis jemand zählt.
Was bewirkt Monoton bei einer ULID?
Innerhalb einer einzelnen Millisekunde stehen einfache ULIDs zueinander in zufälliger Reihenfolge. Der monotone Modus erhöht das Zufallsfeld, statt es neu zu ziehen, sodass ein Schub, der in derselben Millisekunde erzeugt wurde, trotzdem in Erstellungsreihenfolge sortiert.
Warum verwendet eine ULID Base32 ohne I, L, O und U?
Das ist Crockfords Alphabet: Es lässt die Zeichen weg, die verwechselt werden, wenn ein Mensch eine ID vorliest oder von einem Bildschirm abschreibt. Der Preis sind 32 Symbole statt 36, weshalb eine ULID 26 Zeichen braucht, wo eine NanoID 21 braucht.
Eingabe aus
Danach
Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.
Passwort-Generator
Password Generator
Erzeugt zufällige Passwörter mit Länge, Zeichensatz und Regeln für verwechselbare Zeichen, bei Bedarf in Masse – ohne Upload, komplett im Browser.
Zufallsschlüssel-Generator
Random Key Generator
Erzeugt kryptografische Zufallsbytes als Hex, Base64 oder Base64URL in gewählter Länge, für App-Geheimnisse.
UUID-Generator
UUID Generator
Erzeugt UUID v1, v4, v5 und v7 in Masse und dekodiert den Zeitstempel aus einem v1- oder v7-Wert.
Base64 kodieren und dekodieren
Base64 Encoder & Decoder
Kodiert und dekodiert Base64 und Base64URL für Text oder Dateien und behandelt UTF-8 korrekt.
curl in Code
curl to Code
Wandelt einen curl-Befehl in fetch, axios, Python requests, Go, PHP oder PowerShell um.
Text-Hash
Text Hash
Berechnet MD5, SHA-1, SHA-256, SHA-384, SHA-512 und CRC-32 einer Zeichenkette, wahlweise in Großbuchstaben oder als Base64.