Gratis Nano ID Generator - Veilige URL-Vriendelijke Unieke ID's Online
Genereer direct veilige Nano ID's! Gratis online tool maakt compacte, URL-veilige unieke identificatoren 42% korter dan UUID. Perfect voor databases, API's, tokens & systemen.
De lengte van de gegenereerde Nano ID (1-100 tekens)
Selecteer de tekenset voor uw Nano ID
Gegenereerde Nano ID
Visualisatie
Documentatie
Een Nano ID-generator maakt een korte, willekeurige tekenreeks die Nano ID wordt genoemd. Nano ID's werken als unieke identificatoren voor zaken zoals databasegegevens, URL's en API-tokens, en het is uiterst onwaarschijnlijk dat twee gegenereerde ID's ooit overeenkomen.
Wat is een Nano ID?
Een Nano ID is een willekeurig gegenereerde tekenreeks om iets te labelen, zodat het van alle andere zaken kan worden onderscheiden. Softwareontwikkelaar Andrey Sitnik bedacht het formaat in 2017 als een kleiner alternatief voor de UUID (Universally Unique Identifier), een identificator van 36 tekens die veel in de informatica wordt gebruikt. Een standaard-Nano ID is 21 tekens lang, tegenover 36 tekens voor een UUID, een verkorting van ongeveer 42%.
Een Nano ID genereren met deze tool
De generator op deze pagina bouwt een Nano ID op basis van twee instellingen.
- Lengte: een geheel getal van 1 tot en met 100. De standaardwaarde is 21.
- Tekenset: de groep tekens waaruit de ID wordt opgebouwd. De standaardinstelling is alfanumeriek.
Voer een lengte in, kies een tekenset en druk vervolgens op "Genereren" om een ID te maken. Druk op "Kopiëren" om deze te kopiëren of op "Resetten" om terug te keren naar een lengte van 21 en de alfanumerieke tekenset. Telkens wanneer de lengte of tekenset verandert, verschijnt automatisch een nieuwe ID. Onder de knoppen geeft de tool elk teken van de ID weer als een gekleurd blok: blauw voor een hoofdletter, groen voor een kleine letter, oranje voor een cijfer en grijs voor interpunctie.
Als de lengte geen geheel getal tussen 1 en 100 is, toont de tool het bericht "Lengte moet een geheel getal tussen 1 en 100 zijn" en wordt er geen ID gemaakt.
Beschikbare tekensets
De tool biedt zeven vaste tekensets. Een aangepast, door de gebruiker ingevoerd alfabet wordt niet ondersteund. De set "Met symbolen" voegt deze 26 leestekens toe aan de alfanumerieke tekens: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Tekenset | Gebruikte tekens | Alfabetgrootte |
|---|---|---|
| Alfanumeriek (standaard) | A-Z, a-z, 0–9 | 62 |
| URL-veilig | A-Z, a-z, 0-9, -, _ | 64 |
| Numeriek | 0–9 | 10 |
| Alfabetisch | A-Z, a-z | 52 |
| Kleine letters | a-z | 26 |
| Hoofdletters | A-Z | 26 |
| Met symbolen | A-Z, a-z, 0–9 en 26 leestekens | 88 |
De alfanumerieke set is standaard geselecteerd. Daarin ontbreken het koppelteken en het onderstrepingsteken uit de URL-veilige set, hoewel letters en cijfers op zichzelf al veilig rechtstreeks in een URL kunnen worden geplaatst.
Nano ID-formule
Een Nano ID wordt opgebouwd door met een cryptografisch veilige generator voor willekeurige getallen één voor één een vast aantal tekens willekeurig uit een alfabet te kiezen. Zo'n generator is ontworpen om te voorkomen dat de uitvoer vooraf kan worden voorspeld.
1id = random(alphabet, size)
2Met de standaardinstellingen heeft alphabet 62 tekens en is size gelijk aan 21.
Uitgewerkt voorbeeld
Bij gebruik van het standaardalfabet met alfanumerieke tekens en een lengte van 21 is één mogelijk gegenereerde ID:
1K7pQ2mZxT9vY4nR8jH3wL
2Elk teken wordt onafhankelijk gekozen uit de 62 letters en cijfers, dus twee keer achter elkaar genereren levert vrijwel nooit dezelfde tekenreeks op.
Botsingskans berekenen
Omdat een Nano ID willekeurig wordt gekozen, is het mogelijk, hoewel zeer onwaarschijnlijk, dat twee gegenereerde ID's overeenkomen. Dit heet een botsing. De kans op ten minste één botsing na het genereren van k ID's volgt dezelfde wiskunde als het "verjaardagsprobleem":
1P(collision) ≈ 1 - e^(-k² / (2n))
2Hier is n het aantal mogelijke ID's: de alfabetgrootte verheven tot de macht van de ID-lengte, oftewel n = alphabet_size^length.
Uitgewerkt voorbeeld
Voor de standaardinstelling, een alfabet van 62 tekens en een lengte van 21 tekens:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2Als de formule wordt opgelost voor een botsingskans van 1%, volgt:
1k ≈ 9.4 × 10^17 IDs
2Dat betekent dat er ongeveer 940 biljard ID's moeten worden gegenereerd voordat er zelfs maar een kans van 1% bestaat dat twee ervan overeenkomen. Bij één miljoen gegenereerde ID's per seconde zou het ongeveer 29.700 jaar duren om dat aantal te bereiken.
Als het URL-veilige alfabet van 64 tekens wordt gebruikt, stijgt het aantal licht tot ongeveer 1,3 × 10^18 ID's voor hetzelfde risico van 1%, omdat het grotere alfabet meer mogelijke ID's biedt om uit te kiezen.
Nano ID vergeleken met andere identificatoren
| Type | Lengte | Opmerkingen |
|---|---|---|
| Nano ID | 21 tekens, aanpasbaar | Willekeurig, compact, niet op tijd sorteerbaar |
| UUID | 36 tekens | Standaardindeling, breed ondersteund, bevat koppeltekens |
| ULID | 26 tekens | Sorteerbaar op aanmaaktijd |
| KSUID | 27 tekens | Sorteerbaar op aanmaaktijd, bevat een tijdstempel |
| Automatisch oplopend geheel getal | Verschilt | Eenvoudig en opeenvolgend, maar voorspelbaar en moeilijk af te stemmen tussen afzonderlijke databases |
Veelgestelde vragen
Wat zijn de standaardlengte en tekenset van een Nano ID?
De standaardwaarde is 21 tekens uit de alfanumerieke tekenset: A-Z, a-z, 0-9, in totaal 62 tekens.
Ondersteunt deze tool een aangepast alfabet?
Nee. De tool biedt zeven vaste tekensets: alfanumeriek, URL-veilig, numeriek, alfabetisch, kleine letters, hoofdletters en "Met symbolen".
Waarin verschilt een Nano ID van een UUID?
Een Nano ID is korter. De standaardlengte is 21 tekens, tegenover 36 tekens voor een UUID, dus ongeveer 42% korter. Beide worden willekeurig gegenereerd en zijn niet opeenvolgend.
Kan een Nano ID worden gesorteerd op basis van de aanmaaktijd?
Nee. Nano ID's zijn volledig willekeurig en bevatten dus geen informatie over het moment waarop ze zijn gegenereerd. Indelingen zoals ULID of KSUID zijn juist ontworpen om op tijd te kunnen worden gesorteerd.
Is een Nano ID veilig als primaire sleutel in een database?
Ja. De ID moet worden opgeslagen in een tekst- of tekenreekskolom in plaats van als getal, met een unieke index voor snelle zoekopdrachten.
Hoeveel mogelijke Nano ID's zijn er?
Dat hangt af van de gekozen lengte en tekenset. Met het standaardalfabet van 62 tekens en een lengte van 21 zijn er 62^21, oftewel ongeveer 4,4 × 10^37, mogelijke ID's.
Referenties
- Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
- "Universally unique identifier." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Universally_unique_identifier.
- "ULID Spec." GitHub, https://github.com/ulid/spec.