Generator Nano ID Gratuit - Identificatori Unici Siguri și Compatibili cu URL Online
Generați Nano ID-uri sigure instant! Instrument online gratuit care creează identificatori unici compacți, compatibili cu URL, cu 42% mai scurți decât UUID. Perfect pentru baze de date, API-uri, token-uri și sisteme.
Lungimea Nano ID-ului generat (1-100 caractere)
Selectați setul de caractere pentru Nano ID-ul dvs.
Nano ID Generat
Vizualizare
Documentație
Un generator Nano ID creează un șir scurt și aleatoriu de caractere, numit Nano ID. Nano ID-urile funcționează ca identificatori unici pentru elemente precum înregistrările din bazele de date, URL-urile și tokenurile API, iar probabilitatea ca două ID-uri generate să coincidă vreodată este extrem de mică.
Ce este un Nano ID?
Un Nano ID este un șir generat aleatoriu, folosit pentru a eticheta un element astfel încât acesta să poată fi deosebit de toate celelalte. Dezvoltatorul software Andrey Sitnik a creat formatul în 2017 ca alternativă mai compactă la UUID (identificator universal unic), un identificator de 36 de caractere utilizat pe scară largă în informatică. Un Nano ID implicit are 21 de caractere, față de 36 pentru un UUID, ceea ce înseamnă o reducere de aproximativ 42 %.
Cum se generează un Nano ID cu acest instrument
Generatorul de pe această pagină construiește un Nano ID pe baza a două setări.
- Lungime: un număr întreg de la 1 la 100. Valoarea implicită este 21.
- Set de caractere: grupul de caractere din care este construit ID-ul. Valoarea implicită este alfanumerică.
Introduceți o lungime, alegeți un set de caractere, apoi apăsați „Generează” pentru a crea un ID. Apăsați „Copiază” pentru a-l copia sau „Resetează” pentru a reveni la lungimea de 21 și la setul alfanumeric. Un ID nou apare automat și atunci când se schimbă lungimea sau setul de caractere. Sub butoane, instrumentul afișează fiecare caracter al ID-ului ca pe un bloc colorat: albastru pentru o literă majusculă, verde pentru o literă minusculă, portocaliu pentru o cifră și gri pentru un semn de punctuație.
Dacă lungimea nu este un număr întreg între 1 și 100, instrumentul afișează mesajul „Lungimea trebuie să fie un număr întreg între 1 și 100” și nu produce niciun ID.
Seturi de caractere disponibile
Instrumentul oferă șapte seturi fixe de caractere. Nu acceptă un alfabet personalizat, introdus de utilizator. Setul „Cu simboluri” adaugă următoarele 26 semne de punctuație la caracterele alfanumerice: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Set de caractere | Caractere utilizate | Dimensiunea alfabetului |
|---|---|---|
| Alfanumeric (implicit) | A-Z, a-z, 0–9 | 62 |
| Sigur pentru URL | A-Z, a-z, 0-9, -, _ | 64 |
| Numeric | 0–9 | 10 |
| Alfabetic | A-Z, a-z | 52 |
| Minuscule | a-z | 26 |
| Majuscule | A-Z | 26 |
| Cu simboluri | A-Z, a-z, 0–9 și 26 semne de punctuație | 88 |
Setul alfanumeric este selectat implicit. Acesta exclude cratima și caracterul de subliniere utilizate în setul sigur pentru URL, deși numai literele și cifrele pot fi deja inserate în siguranță direct într-un URL.
Formula Nano ID
Un Nano ID este construit prin alegerea aleatorie, pe rând, a unui număr fix de caractere dintr-un alfabet, folosind un generator criptografic sigur de numere aleatoare. Acesta este un generator conceput astfel încât rezultatul său să nu poată fi prevăzut în avans.
1id = random(alphabet, size)
2Cu setările implicite, alphabet are 62 de caractere, iar size este 21.
Exemplu de calcul
Folosind alfabetul alfanumeric implicit și o lungime de 21, un ID care poate fi generat este:
1K7pQ2mZxT9vY4nR8jH3wL
2Fiecare caracter este ales independent dintre cele 62 de litere și cifre, astfel încât rularea generatorului de două ori aproape niciodată nu va produce același șir.
Cum se calculează probabilitatea unei coliziuni
Deoarece un Nano ID este ales aleatoriu, este posibil, deși foarte puțin probabil, ca două ID-uri generate să coincidă. Aceasta se numește coliziune. Probabilitatea apariției a cel puțin unei coliziuni după generarea a k ID-uri urmează aceeași matematică precum „problema zilelor de naștere”:
1P(collision) ≈ 1 - e^(-k² / (2n))
2Aici, n este numărul de ID-uri posibile: dimensiunea alfabetului ridicată la puterea lungimii ID-ului, adică n = alphabet_size^length.
Exemplu de calcul
Pentru setarea implicită, cu un alfabet de 62 de caractere și o lungime de 21 caractere:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2Rezolvarea formulei pentru o probabilitate de coliziune de 1 % dă:
1k ≈ 9.4 × 10^17 IDs
2Aceasta înseamnă că trebuie generate aproximativ 940 cvadrilioane de ID-uri înainte să existe chiar și o șansă de 1 % ca două dintre ele să coincidă. La un milion de ID-uri generate pe secundă, atingerea acestui număr ar dura aproximativ 29.700 de ani.
Trecerea la alfabetul de 64 de caractere sigur pentru URL crește ușor numărul, la aproximativ 1,3 × 10^18 ID-uri pentru același risc de 1 %, deoarece alfabetul mai mare oferă mai multe ID-uri posibile din care se poate alege.
Nano ID comparat cu alți identificatori
| Tip | Lungime | Observații |
|---|---|---|
| Nano ID | 21 de caractere, ajustabil | Aleatoriu, compact, nu poate fi sortat după timp |
| UUID | 36 de caractere | Format standard, acceptat pe scară largă, conține cratime |
| ULID | 26 de caractere | Sortabil după momentul creării |
| KSUID | 27 de caractere | Poate fi sortat după momentul creării și include un marcaj temporal. |
| Număr întreg cu incrementare automată | Variază | Simplu și secvențial, dar previzibil și dificil de coordonat între baze de date separate |
Întrebări frecvente
Care este lungimea și setul de caractere implicite ale unui Nano ID?
Valoarea implicită este de 21 caractere din setul de caractere alfanumeric: A-Z, a-z, 0-9, adică 62 de caractere în total.
Acceptă acest instrument un alfabet personalizat?
Nu. Oferă șapte seturi fixe de caractere: alfanumeric, sigur pentru URL, numeric, alfabetic, cu litere minuscule, cu litere majuscule și „Cu simboluri”.
Prin ce diferă un Nano ID de un UUID?
Un Nano ID este mai scurt. Valoarea implicită este de 21 caractere, față de 36 caractere pentru un UUID, fiind cu aproximativ 42 % mai scurt. Ambele sunt generate aleatoriu și nu sunt secvențiale.
Poate fi sortat un Nano ID după momentul creării?
Nu. Nano ID-urile sunt complet aleatorii, astfel încât nu conțin informații despre momentul generării lor. Formate precum ULID sau KSUID sunt concepute pentru a putea fi sortate în funcție de timp.
Este sigură utilizarea unui Nano ID ca identificator primar într-o bază de date?
Da. Acesta trebuie stocat într-o coloană de tip text sau șir, nu într-o coloană numerică, și trebuie să aibă un index unic pentru căutări rapide.
Câte Nano ID-uri posibile există?
Depinde de lungimea și setul de caractere alese. Cu alfabetul implicit de 62 de caractere și o lungime de 21 caractere, există 62^21, adică aproximativ 4,4 × 10^37, ID-uri posibile.
Referințe
- Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
- "Universally unique identifier." Wikipedia, Fundația Wikimedia, https://en.wikipedia.org/wiki/Universally_unique_identifier.
- "ULID Spec." GitHub, https://github.com/ulid/spec.