Spring til indhold

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

Indtast en værdi for at se resultater

Visualisering

Indlæsningsberegner...
📚

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.

  1. Længde: et helt tal fra 1 til 100. Standardværdien er 21.
  2. 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ætAnvendte tegnAlfabetets størrelse
Alfanumerisk (standard)A-Z, a-z, 0–962
URL-sikkertA-Z, a-z, 0-9, -, _64
Numerisk0–910
AlfabetiskA-Z, a-z52
Små bogstavera-z26
Store bogstaverA-Z26
Med symbolerA-Z, a-z, 0–9 og 26 tegnsætningstegn88

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)
2

Med 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
2

Hvert 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))
2

Her 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
2

Hvis formlen løses for en sandsynlighed for sammenfald på 1 %, fås:

1k ≈ 9.4 × 10^17 IDs
2

Det 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

TypeLængdeBemærkninger
Nano ID21 tegn, kan justeresTilfældigt, kompakt, kan ikke sorteres efter tid
UUID36 tegnStandardformat, bredt understøttet, indeholder bindestreger
ULID26 tegnKan sorteres efter oprettelsestidspunkt
KSUID27 tegnKan sorteres efter oprettelsestidspunkt, indeholder et tidsstempel
Heltal med automatisk inkrementeringVariererEnkelt 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

  1. Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
  2. "Universally unique identifier." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Universally_unique_identifier.
  3. "ULID Spec." GitHub, https://github.com/ulid/spec.