NanoID Oluşturucu
NanoID ile güvenli, URL dostu benzersiz kimlikler oluşturun. Token'lar, veritabanı anahtarları ve kısa tanımlayıcılar için boyutu, alfabeyi ve miktarı özelleştirin.
Girdi
Çıktı
Readme
NanoID Nedir?
NanoID, JavaScript için küçük, URL-güvenli bir benzersiz kimlik oluşturucudur. İstatistiksel olarak benzersiz kompakt rastgele dizeler üretir — UUID v4'e benzer, ancak varsayılan olarak daha kısa (21 karakter vs 36) ve herhangi bir kodlama olmadan URL-dostu olacak şekilde tasarlanmıştır. Her karakter, dikkatli bir şekilde dengeli bir alfabeden seçilir, böylece her olası kimlik eşit olasılıkta olur ve dağılımda önyargı ortadan kalkar.
NanoID, kriptografik olarak güçlü bir rastgele sayı oluşturucusu kullanır (tarayıcılarda crypto.getRandomValues, Node.js'de crypto.randomFill), bu da oluşturulan kimlikləri oturum token'ları ve tek seferlik bağlantılar gibi güvenliğe duyarlı bağlamlar için uygun hale getirir. Varsayılan 21 karakterlik uzunluk kabaca 2,1 × 10³⁰ olası kombinasyon verir — UUID v4'e benzer — kompakt format ise bant genişliği ve depolama alanından tasarruf sağlar.
Araç açıklaması
Bu çevrimiçi NanoID oluşturucusu, kurulum gerektirmeden tarayıcınızda anında bir veya daha fazla NanoID oluşturmanıza olanak tanır. Kimlik uzunluğunu, kaç kimlik oluşturulacağını ve hangi alfabenin kullanılacağını kontrol edebilirsiniz — güvenli varsayılandan hex, alfanümerik, yalnızca sayılar veya tamamen özel bir karakter seti seçeneğine kadar.
Örnekler
Varsayılan alfabe, boyut 21:
V1StGXR8_Z5jdHi6B-myT
useandom-26T198340PX7
bfghjklqvwyzrictV1StGHex alfabe, boyut 16:
3f9a1c2b4e7d0f85
a0c4e8f23b6d917cYalnızca sayılar, boyut 8:
04817263
93571048Özel alfabe (abc123), boyut 12:
b2ca31b1ca2b
3a1c2b3c1ab2Özellikler
- Ayarlanabilir uzunluk: Kimlik boyutunu 1 ile 64 karakter arasında ayarlayın (varsayılan 21)
- Toplu oluşturma: Aynı anda 1.000'e kadar kimlik oluşturun
- Alfabe ön ayarları: Varsayılan, Sayılar, Küçük Harf, Büyük Harf, Alfanümerik, Hex, Büyük Harf Hex, Benzer Görünümlü Olmayan veya tamamen özel bir karakter seti arasından seçim yapın
- Benzer Görünümlü Olmayan ön ayarı: Görsel olarak belirsiz karakterleri (örn.
0,O,I,l) kaldırarak insan tarafından okunabilir kimlikler oluşturur - Dosya olarak indir: Oluşturulan tüm kimlikləri
nanoids.txtdosyasına tek tıklamayla kaydedin
Kullanım durumları
- Uygulama geliştirme: NanoID'leri veritabanlarında birincil anahtar olarak veya tam UUID yerine kısa, URL-güvenli bir dize tercih edilen API'lerde kayıt tanımlayıcıları olarak kullanın.
- Token oluşturma: Parola sıfırlama bağlantıları, davet kodları veya referral slug'ları için kısa rastgele token'lar oluşturun; burada okunabilirlik ve URL güvenliği önemlidir.
- Test ve sahte veri: Test fixture'larını doldurmak veya prototip verilerini oluşturmak için hızlı bir şekilde gerçekçi görünümlü benzersiz tanımlayıcılar üretin.
Seçenekler açıklaması
| Seçenek | Açıklama |
|---|---|
| Boyut | Oluşturulan her kimlikte karakter sayısı (1–64). Varsayılan 21, ~126 bit entropi verir, UUID v4'e eşdeğerdir. |
| Miktar | Bir toplu işlemde kaç kimlik oluşturulacağı (1–1.000). |
| Alfabe | Çekilecek karakter havuzu. Daha büyük, daha çeşitli alfabeler karakter başına entropiyi artırır. |
| Özel alfabe | Özel seçildiğinde görünür. Herhangi bir karakter girin; çarpık dağılımı önlemek için yinelemeler otomatik olarak kaldırılır. |
Nasıl çalışır
NanoID, rastgele bir bayt oluşturarak, bunu alfabe boyutuna sığdırmak için maskeleyerek ve sonuç geçerli aralığın dışında kalırsa yeniden deneyerek her karakteri seçer — bu tekniğe reddetme örneklemesi denir. Bu, alfabe boyutunun ikinin kuvveti olup olmadığına bakılmaksızın tüm alfabe karakterleri arasında mükemmel bir düz dağılım sağlar. Varsayılan alfabe (useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict) URL-güvenlidir (hiçbir +, / veya = yok) ve 64 karaktere sahiptir, bu da her karakterin tam olarak 6 bit entropi taşıması anlamına gelir.