Kostenloser Nano ID Generator - Sichere URL-sichere Eindeutige IDs Online
Generieren Sie sofort sichere Nano IDs! Kostenloses Online-Tool erstellt kompakte, URL-sichere eindeutige Identifikatoren 42% kürzer als UUID. Perfekt für Datenbanken, APIs, Token & Systeme.
Die Länge der generierten Nano ID (1-100 Zeichen)
Wählen Sie den Zeichensatz für Ihre Nano ID
Generierte Nano ID
Visualisierung
Dokumentation
Ein Nano-ID-Generator erstellt eine kurze, zufällige Zeichenfolge, die als Nano ID bezeichnet wird. Nano IDs dienen als eindeutige Bezeichner für Dinge wie Datenbankeinträge, URLs und API-Tokens. Es ist äußerst unwahrscheinlich, dass zwei generierte IDs jemals übereinstimmen.
Was ist eine Nano ID?
Eine Nano ID ist eine zufällig erzeugte Zeichenfolge, die etwas kennzeichnet, damit es sich von allem anderen unterscheiden lässt. Der Entwickler Andrey Sitnik schrieb die Open-Source-Nano-ID-Bibliothek, Copyright 2017, als kürzere Alternative zur UUID (Universally Unique Identifier), einer in der Informatik weit verbreiteten Kennung mit 36 Zeichen. Die Bibliothek verwendet ein größeres Alphabet als eine UUID, daher ist ihre Standard-ID 21 statt 36 Zeichen lang, also etwa 42 % kürzer. Das eigene Standardalphabet der Bibliothek ist der URL-sichere Zeichensatz (A-Za-z0-9_-); dieses Werkzeug verwendet stattdessen standardmäßig den alphanumerischen Zeichensatz.
So generieren Sie mit diesem Werkzeug eine Nano ID
Der Generator auf dieser Seite erstellt eine Nano ID anhand von zwei Einstellungen.
- Länge: eine ganze Zahl von 1 bis 100. Der Standardwert ist 21.
- Zeichensatz: die Gruppe von Zeichen, aus denen die ID erstellt wird. Standardmäßig wird der alphanumerische Zeichensatz verwendet.
Geben Sie eine Länge ein, wählen Sie einen Zeichensatz und klicken Sie auf „Generieren“, um eine ID zu erstellen. Klicken Sie auf „Kopieren“, um sie zu kopieren. Eine neue ID erscheint außerdem automatisch, sobald sich die Länge oder der Zeichensatz ändert.
Verfügbare Zeichensätze
Das Werkzeug bietet sieben feste Zeichensätze. Ein eigenes, vom Nutzer eingegebenes Alphabet wird nicht unterstützt.
| Zeichensatz | Verwendete Zeichen | Alphabetgröße |
|---|---|---|
| Alphanumerisch (Standard) | A-Z, a-z, 0-9 | 62 |
| URL-sicher | A–Z, a–z, 0-9, -, _ | 64 |
| Numerisch | 0-9 | 10 |
| Alphabetisch | A–Z, a–z | 52 |
| Kleinbuchstaben | a–z | 26 |
| Großbuchstaben | A–Z | 26 |
| Symbole | A-Z, a-z, 0-9 und gängige Satzzeichen | 88 |
Der alphanumerische Zeichensatz ist standardmäßig ausgewählt. Er lässt den Bindestrich und den Unterstrich des URL-sicheren Zeichensatzes aus; Buchstaben und Ziffern allein können jedoch bereits direkt in einer URL verwendet werden.
Nano-ID-Formel
Eine Nano ID entsteht, indem aus einem Alphabet nacheinander eine feste Anzahl von Zeichen zufällig ausgewählt wird, mithilfe eines kryptografisch sicheren Zufallszahlengenerators. Das ist ein Generator, dessen Ausgabe sich nicht im Voraus vorhersagen lässt. Im Browser bezieht die von diesem Werkzeug verwendete Bibliothek ihre Zufallsbytes von der Web-Crypto-Methode crypto.getRandomValues(), die kryptografisch starke Zufallswerte liefert.
1id = random(alphabet, size)
2Mit den Standardeinstellungen hat alphabet 62 Zeichen und size ist 21.
Beispiel
Bei Verwendung des standardmäßigen alphanumerischen Alphabets und einer Länge von 21 lautet eine mögliche generierte ID:
1K7pQ2mZxT9vY4nR8jH3wL
2Jedes Zeichen wird unabhängig aus den 62 Buchstaben und Ziffern ausgewählt. Daher erzeugt die zweimalige Ausführung des Generators fast nie dieselbe Zeichenfolge.
Kollisionswahrscheinlichkeit berechnen
Da eine Nano ID zufällig ausgewählt wird, ist es möglich, wenn auch äußerst unwahrscheinlich, dass zwei generierte IDs übereinstimmen. Dies wird als Kollision bezeichnet. Die Wahrscheinlichkeit für mindestens eine Kollision nach der Generierung von k IDs folgt derselben mathematischen Grundlage wie das „Geburtstagsproblem“:
1P(collision) ≈ 1 - e^(-k² / (2n))
2Dabei ist n die Anzahl der möglichen IDs: die Alphabetgröße hoch der Länge der ID, also n = alphabet_size^length.
Rechenbeispiel
Bei der Standardeinstellung, einem Alphabet mit 62 Zeichen und einer ID-Länge von 21:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2Die Auflösung der Formel nach einer Kollisionswahrscheinlichkeit von 1 % ergibt:
1k ≈ 9.4 × 10^17 IDs
2Das bedeutet, dass ungefähr 940 Billiarden IDs generiert werden müssen, bevor überhaupt eine Wahrscheinlichkeit von 1 % besteht, dass zwei davon übereinstimmen. Bei einer Generierung von einer Million IDs pro Sekunde würde das Erreichen dieser Anzahl etwa 29.700 Jahre dauern.
Der Wechsel zum URL-sicheren Alphabet mit 64 Zeichen erhöht die Anzahl für dasselbe 1 %-Risiko geringfügig auf etwa 1,3 × 10^18 IDs, da das größere Alphabet mehr mögliche IDs zur Auswahl bietet.
Nano ID im Vergleich zu anderen Bezeichnern
Eine ULID wird als Zeichenfolge mit 26 Zeichen geschrieben, die nach Erstellungszeit sortiert, und die Textform einer KSUID hat immer 27 Zeichen und sortiert nach ihrem Zeitstempel.
| Typ | Länge | Hinweise |
|---|---|---|
| Nano ID | 21 Zeichen, anpassbar | Zufällig, kompakt, nicht nach Erstellungszeit sortierbar |
| UUID | 36 Zeichen | Standardformat, weithin unterstützt, enthält Bindestriche |
| ULID | 26 Zeichen | Nach Erstellungszeit sortierbar |
| KSUID | 27 Zeichen | Nach Erstellungszeit sortierbar, enthält einen Zeitstempel |
| Ganzzahl mit automatischer Inkrementierung | Unterschiedlich | Einfach und sequenziell, aber vorhersehbar und schwer über separate Datenbanken hinweg zu koordinieren |
Häufig gestellte Fragen
Wie lang ist eine Nano ID standardmäßig, und welcher Zeichensatz wird verwendet?
Der Standardwert sind 21 Zeichen aus dem alphanumerischen Zeichensatz: A–Z, a–z, 0-9, also insgesamt 62 Zeichen.
Unterstützt dieses Werkzeug ein benutzerdefiniertes Alphabet?
Nein. Es bietet sieben feste Zeichensätze: alphanumerisch, URL-sicher, numerisch, alphabetisch, Kleinbuchstaben, Großbuchstaben und Symbole.
Worin unterscheidet sich eine Nano ID von einer UUID?
Eine Nano ID ist kürzer. Sie hat standardmäßig 21 Zeichen gegenüber 36 Zeichen bei einer UUID und ist damit etwa 42 % kürzer. Beide werden zufällig generiert und sind nicht sequenziell.
Kann eine Nano ID nach ihrer Erstellungszeit sortiert werden?
Nein. Nano IDs sind vollständig zufällig und enthalten daher keine Information darüber, wann sie generiert wurden. Formate wie ULID oder KSUID sind dagegen so aufgebaut, dass sie nach der Zeit sortiert werden können.
Ist eine Nano ID als Primärschlüssel einer Datenbank geeignet?
Ja. Sie sollte als Text- oder Zeichenfolgenspalte und nicht als Zahl gespeichert werden, zusammen mit einem eindeutigen Index für schnelle Suchvorgänge.
Wie viele mögliche Nano IDs gibt es?
Das hängt von der gewählten Länge und dem Zeichensatz ab. Bei dem Standardalphabet mit 62 Zeichen und einer Länge von 21 gibt es 62^21, also etwa 4,4 × 10^37, mögliche IDs.
Referenzen
- Andrey Sitnik. Nano ID license file. ai/nanoid LICENSE auf GitHub — MIT-Lizenz, "Copyright 2017 Andrey Sitnik".
- Andrey Sitnik. Nano ID README. ai/nanoid auf GitHub — größeres Alphabet als UUID (
A-Za-z0-9_-), "ID size was reduced from 36 to 21 symbols"; verwendet in Browsern die Web Crypto API. - MDN Web Docs. Crypto: getRandomValues() method. MDN, Crypto.getRandomValues() — die Methode liefert kryptografisch starke Zufallswerte.
- ULID-Projekt. Universally Unique Lexicographically Sortable Identifier. ulid/spec auf GitHub — eine Zeichenfolge mit 26 Zeichen, im Gegensatz zur UUID mit 36 Zeichen; lexikografisch sortierbar.
- Segment. KSUID. segmentio/ksuid auf GitHub — die Textdarstellung hat immer 27 Zeichen und sortiert nach dem Zeitstempel.