Gratis Nano ID Generator - Sikre URL-Venlige Unikke ID'er Online
Generer sikre Nano ID'er øjeblikkeligt! Gratis online værktøj opretter kompakte, URL-sikre unikke identifikatorer 42% kortere end UUID. Perfekt til databaser, API'er, tokens & systemer.
Længden af den genererede Nano ID (1-100 tegn)
Vælg tegnsættet til din Nano ID
Genereret Nano ID
Visualisering
Dokumentation
En Nano ID-generator opretter en kort, tilfældig tegnstreng kaldet et Nano ID. Nano ID'er fungerer som entydige identifikatorer for ting som databaseposter, URL'er og API-tokens, og det er yderst usandsynligt, at to genererede ID'er nogensinde er ens.
Hvad er et Nano ID?
Et Nano ID er en tilfældigt genereret tegnstreng, der bruges til at mærke noget, så det kan skelnes fra alt andet. Softwareudvikleren Andrey Sitnik oprettede formatet i 2017 som et mindre alternativ til UUID (Universally Unique Identifier), en identifikator på 36 tegn, der bruges bredt inden for databehandling. Et Nano ID har som standard 21 tegn sammenlignet med et UUID's 36 tegn, hvilket er en reduktion på cirka 42 %.
Sådan genererer du et Nano ID med dette værktøj
Generatoren på denne side opbygger et Nano ID ud fra to indstillinger.
- Længde: et helt tal fra 1 til 100. Standardværdien er 21.
- Tegnsæt: den gruppe af tegn, som ID'et opbygges af. Standardværdien er alfanumerisk.
Angiv en længde, vælg et tegnsæt, og tryk derefter på "Generer" for at oprette et ID. Tryk på "Kopiér" for at kopiere det, eller på "Nulstil" for at vende tilbage til en længde på 21 og det alfanumeriske tegnsæt. Et nyt ID vises også automatisk, hver gang længden eller tegnsættet ændres. Under knapperne viser værktøjet hvert tegn i ID'et som en farvet blok: blå for et stort bogstav, grøn for et lille bogstav, orange for et ciffer og grå for tegnsætning.
Hvis længden ikke er et helt tal mellem 1 og 100, viser værktøjet meddelelsen "Længden skal være et helt tal mellem 1 og 100" og opretter ikke noget ID.
Tilgængelige tegnsæt
Værktøjet tilbyder syv faste tegnsæt. Det accepterer ikke et brugerdefineret alfabet indtastet af brugeren. Tegnsættet "Med symboler" føjer disse 26 tegnsætningstegn til de alfanumeriske tegn: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Tegnsæt | Anvendte tegn | Alfabetets størrelse |
|---|---|---|
| Alfanumerisk (standard) | A-Z, a-z, 0–9 | 62 |
| URL-sikkert | A-Z, a-z, 0-9, -, _ | 64 |
| Numerisk | 0–9 | 10 |
| Alfabetisk | A-Z, a-z | 52 |
| Små bogstaver | a-z | 26 |
| Store bogstaver | A-Z | 26 |
| Med symboler | A-Z, a-z, 0–9 og 26 tegnsætningstegn | 88 |
Det alfanumeriske tegnsæt er valgt som standard. Det udelader bindestregen og understregningen, der bruges i det URL-sikre tegnsæt, selv om bogstaver og cifre alene allerede er sikre at placere direkte i en URL.
Nano ID-formel
Et Nano ID opbygges ved tilfældigt at vælge et fast antal tegn fra et alfabet, ét ad gangen, ved hjælp af en kryptografisk sikker tilfældighedsgenerator. Det er en generator, der er udformet, så dens output ikke kan forudsiges på forhånd.
1id = random(alphabet, size)
2Med standardindstillingerne har alphabet 62 tegn, og size er 21.
Regneeksempel
Ved brug af det alfanumeriske standardalfabet og en længde på 21 er et muligt genereret ID:
1K7pQ2mZxT9vY4nR8jH3wL
2Hvert tegn vælges uafhængigt blandt de 62 bogstaver og cifre, så en kørsel af generatoren to gange vil næsten aldrig give den samme streng.
Sådan beregnes sandsynligheden for sammenfald
Da et Nano ID vælges tilfældigt, er det muligt, om end meget usandsynligt, at to genererede ID'er er ens. Dette kaldes et sammenfald. Sandsynligheden for mindst ét sammenfald efter generering af k ID'er følger samme matematik som "fødselsdagsproblemet":
1P(collision) ≈ 1 - e^(-k² / (2n))
2Her er n antallet af mulige ID'er: alfabetets størrelse opløftet til ID'ets længde, eller n = alphabet_size^length.
Regneeksempel
Med standardindstillingen, et alfabet på 62 tegn og en længde på 21 tegn:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2Hvis formlen løses for en sandsynlighed for sammenfald på 1 %, fås:
1k ≈ 9.4 × 10^17 IDs
2Det betyder, at der skal genereres cirka 940 billiarder ID'er, før der overhovedet er 1 % sandsynlighed for, at to af dem er ens. Ved en generering på én million ID'er i sekundet ville det tage cirka 29.700 år at nå dette antal.
Hvis der skiftes til det URL-sikre alfabet på 64 tegn, stiger antallet en smule til cirka 1,3 × 10^18 ID'er ved samme risiko på 1 %, fordi det større alfabet giver flere mulige ID'er at vælge imellem.
Nano ID sammenlignet med andre identifikatorer
| Type | Længde | Bemærkninger |
|---|---|---|
| Nano ID | 21 tegn, kan justeres | Tilfældigt, kompakt, kan ikke sorteres efter tid |
| UUID | 36 tegn | Standardformat, bredt understøttet, indeholder bindestreger |
| ULID | 26 tegn | Kan sorteres efter oprettelsestidspunkt |
| KSUID | 27 tegn | Kan sorteres efter oprettelsestidspunkt, indeholder et tidsstempel |
| Heltal med automatisk inkrementering | Varierer | Enkelt og sekventielt, men forudsigeligt og vanskeligt at koordinere på tværs af separate databaser |
Ofte stillede spørgsmål
Hvad er standardlængden og tegnsættet for et Nano ID?
Standardværdien er 21 tegn fra det alfanumeriske tegnsæt: A-Z, a-z, 0-9, som i alt består af 62 tegn.
Understøtter dette værktøj et brugerdefineret alfabet?
Nej. Det tilbyder syv faste tegnsæt: alfanumerisk, URL-sikkert, numerisk, alfabetisk, små bogstaver, store bogstaver og "Med symboler".
Hvordan adskiller et Nano ID sig fra et UUID?
Et Nano ID er kortere. Standardværdien er 21 tegn mod et UUID's 36 tegn, altså cirka 42 % kortere. Begge genereres tilfældigt og er ikke sekventielle.
Kan et Nano ID sorteres efter det tidspunkt, hvor det blev oprettet?
Nej. Nano ID'er er helt tilfældige, så de indeholder ingen oplysninger om, hvornår de blev genereret. Formater som ULID eller KSUID er i stedet udformet, så de kan sorteres efter tid.
Er et Nano ID sikkert at bruge som primærnøgle i en database?
Ja. Det bør gemmes i en tekstkolonne eller strengkolonne i stedet for som et tal, med et entydigt indeks for hurtige opslag.
Hvor mange mulige Nano ID'er findes der?
Det afhænger af den valgte længde og det valgte tegnsæt. Med standardalfabetet på 62 tegn og en længde på 21 tegn findes der 62^21 mulige ID'er, cirka 4,4 × 10^37.
Referencer
- 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.