NanoID Oluşturucu

Çevrim içi NanoID değerleri oluşturun: varsayılan olarak 21 URL uyumlu karakter, yaklaşık 126 bit rastgelelik, özel uzunluk ve alfabe seçeneğiyle.

Biçim
Üretilen Kimlikler
Hazır. Tarayıcınızda NanoID değerleri oluşturun.

Bu kimlik (ID) nasıl oluşturulur?

Düzen
A-Z, a-z, 0-9, alt çizgi ve tire karakterlerinden oluşan varsayılan 21 URL uyumlu karakter.
Entropi
Varsayılan 64 karakterlik alfabe ve 21 karakterlik uzunluk ile yaklaşık 126 bit.
Zaman
Zaman damgası içermez; özel bir alfabeye anlam yüklemediğiniz sürece NanoID değerleri opaktır.
Çakışma riski
Çakışma riski uzunluğa ve alfabeye göre değişir. Varsayılan ayar, UUID v4 ile aynı pratik güvenlik aralığındadır.
Örnek
6PtolCjcm3Y2A0Iq7t_Dv

Kimlikleriniz güçlü tarayıcı rastgeleliği ile yerel olarak üretilir. BroBroGo'ya hiçbir şey gönderilmez.

Sıkça Sorulan Sorular

Neden NanoID kullanmalıyım?

NanoID, UUID'den daha kısadır, varsayılan olarak URL uyumludur ve varsayılan uzunluk ile alfabeyi koruduğunuzda hala yüksek rastgeleliğe sahiptir.

Alfabeyi değiştirebilir miyim?

Evet. Kilitli NanoID sayfası uzunluk ve alfabe kontrollerini korur. Daha küçük alfabeler veya daha kısa uzunluklar çakışma riskini artırır.

Nano ID Formatının Temelleri: Varsayılan Uzunluk, Alfabe ve Ayarlanabilirlik

Nano ID, küçük dosya boyutu ve yüksek çarpışma direnci için tasarlanmış bir benzersiz tanımlayıcı formatıdır. Varsayılan yapılandırmasında 21 karakter uzunluğundadır ve yalnızca URL‑güvenli karakterler kullanır: A-Za-z0-9_- (toplam 64 karakter). Bu sayede ID’ler web adreslerinde, JSON alanlarında veya dosya adlarında herhangi bir kodlama gerektirmeden doğrudan kullanılabilir.

Bu sayfada Nano ID oluşturma süreci tamamen kullanıcı kontrolündedir. Uzunluk 2 ile 36 karakter arasında bir kaydırıcı ile ayarlanabilir; varsayılan değer 21’dir. Alfabe ise düzenlenebilir bir metin alanıdır ve en az 2 farklı karakter içermelidir. Varsayılan alfabe URL‑güvenli karakter setidir, ancak sadece rakamlar, sadece büyük harfler veya özel karakterlerin bir kombinasyonu gibi herhangi bir set girilebilir. Örneğin, ondalık sistemde çalışan bir uygulama için alfabe 0123456789 olarak daraltılabilir; tahmin edilebilirliği azaltmak için ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789 gibi belirsiz karakterlerin atıldığı setler de kullanılabilir.

Her iki parametrede yapılan herhangi bir değişiklik, ID’lerin anında yeniden oluşturulmasını tetikler. Kullanıcı sayfa üzerinde bir ayar yaptığında gecikme olmadan yeni ID listesi görünür.

Bu Sayfayı Farklı Kılan Özellikler: UUID ve ULID ile Karşılaştırma

Piyasada birçok benzersiz tanımlayıcı formatı vardır: UUID (v4) sabit 36 karakter, ULID sabit 26 karakter kullanır. Nano ID’nin varsayılan 21 karakteri hem UUID’den hem de ULID’den daha kısadır, ancak benzer veya daha yüksek çarpışma direnci sunar. Bunun nedeni, kullanılan alfabenin genişliğidir. UUID v4 rastgele 122 bit üretirken (128 bitin 6 biti versiyon bilgisi), 64 karakterlik bir alfabe ile 21 karakterli bir Nano ID yaklaşık 126 bit entropi sağlar (log2(64^21) ≈ 126). Yani daha kısa olmasına rağmen neredeyse aynı güvenlik seviyesindedir.

Bu sayfanın en belirgin farkı hem uzunluğun hem de alfabenin ayarlanabilir olmasıdır. UUID’de uzunluk sabittir; ULID’de alfabe değiştirilemez. Nano ID ise her iki parametreyi de kullanıcının ihtiyacına göre özelleştirmeye izin verir. Örneğin, 8 karakterlik bir Nano ID, 52 karakterlik bir alfabe (büyük/küçük harf) kullanıldığında yaklaşık 45 bit entropi sunar; bu, kısa bağlantılar için yeterlidir. Aynı uzunlukta sadece rakam kullanılırsa entropi yaklaşık 26 bite düşer, bu da çoğu durumda yeterli olmayabilir. Bu esneklik, sistem mimarlarının tam olarak ihtiyaç duydukları formata uygun ID’ler üretmesini sağlar.

Ayrıca bu sayfa, ID’leri istemci tarafında oluşturur. Sunucuya hiçbir veri gönderilmez. Bu hem gecikmeyi ortadan kaldırır hem de gizlilik açısından önemlidir.

Uzunluk ve Alfabe Seçeneklerinin Çalışma Detayları

Kullanıcı arayüzünde üç ana kontrol bulunur: Adet (1 ile 100 arasında), Uzunluk (2-36), Alfabe (metin kutusu). Adet değiştirildiğinde de ID’ler yeniden oluşturulur. Varsayılan adet 1’dir.

Alfabe alanının özel bir kuralı vardır: en az 2 farklı karakter içermelidir. Kullanıcı alfabeyi tek karaktere indirirse (örneğin sadece A yazarsa) sonuçlar hemen temizlenir, ID sayısı 0 olarak gösterilir ve “Tümünü Kopyala” butonu devre dışı kalır. Aynı anda bir hata mesajı belirir: “Alfabe en az 2 farklı karakter içermelidir.” Bu, çarpışmasız ID üretmenin matematiksel olarak imkânsız hale geldiği durumu engeller. Tek karakterli bir alfabe ile tüm ID’ler aynı olacağından anlamsızdır.

Uzunluk kaydırıcısı 2 ile 36 arasında çalışır. 2 karakterlik bir Nano ID, 64 karakterlik alfabe ile bile yalnızca 4096 olasılık sunar (64^2 = 4096); bu nedenle yüksek hacimli sistemlerde çarpışma olasılığı çok yüksektir. 36 karakterlik bir ID ise 64^36 ≈ 10^65 olasılık ile astronomik bir adres alanı sağlar. Pratik kullanım için 21 karakter genellikle iyi bir dengedir.

ID’ler her oluşturulduğunda listede görüntülenir. Her bir ID’nin üzerine tıklamak, onu panoya kopyalar. Ayrıca “Tümünü Kopyala” butonu tüm listeyi tek seferde kopyalar ve durum mesajı “Copied all!” olarak güncellenir. Normal durum “Ready.”, başarılı oluşturma sonrası “Generated.” yazısı görünür.

Çarpışma Direnci ve Rastgelelik Kaynağı: crypto.getRandomValues

Nano ID’lerin güvenilirliği, kullanılan rastgelelik kaynağına doğrudan bağlıdır. Bu sayfadaki tüm ID’ler, modern web tarayıcılarının sunduğu crypto.getRandomValues API’si kullanılarak oluşturulur. Bu yöntem, kriptografik olarak güvenli, işletim sistemi düzeyinde rastgele sayılar üretir. Tahmin edilmesi neredeyse imkânsızdır. UUID’ler için de genellikle aynı kaynak kullanılır, ancak bu sayfada herhangi bir sunucu tarafı işlemi olmadığı için gecikme sıfırdır.

Çarpışma olasılığı, ID’nin uzunluğu ve alfabe büyüklüğü ile ters orantılıdır. İki ID’nin aynı olma olasılığı, “doğum günü problemini” takip eder. Örneğin, 21 karakterlik URL‑güvenli bir alfabe (64 karakter) ile yaklaşık 3×10^18 ID üretilene kadar %1 çarpışma olasılığına ulaşılmaz. Bu, çoğu uygulama için fazlasıyla yeterlidir. Alfabeyi daraltmak (örneğin 36 karaktere indirmek) aynı uzunlukta çarpışma riskini artırır, ancak uzunluğu artırarak telafi edilebilir. Sayfa, bu ayarlamaları anında yansıtarak kullanıcının ihtiyacına uygun parametreleri bulmasını sağlar.

Kullanım Alanları ve Pratik Tavsiyeler

Nano ID’ler, özellikle web API’lerinde, veritabanı birincil anahtarlarında, kısa bağlantı sistemlerinde ve geçici belirteçlerde yaygın olarak kullanılır. 21 karakterlik standart bir Nano ID, UUID’den %42 daha kısa olduğu için veritabanı depolama alanından ve ağ trafiğinden tasarruf sağlar. Ayrıca URL’lerde kullanıma uygundur, bu nedenle e‑posta doğrulama bağlantıları veya davet kodları için idealdir.

Alfabe seçerken şu noktalara dikkat edilmelidir:

  • Belirsiz karakterlerden kaçının: 0 ve O, 1 ve l, I gibi harfler okunurken karıştırılabilir. Bunları alfabeden çıkarmak, ID’lerin elle kopyalanmasını kolaylaştırır.
  • Yalnızca rakam kullanıyorsanız uzunluğu artırın: 64 karakterlik alfabe ile 8 karakter yeterli olabilirken, sadece 10 rakamla 8 karakter yalnızca 100 milyon olasılık sunar; bu, 1 milyon ID üretildiğinde çarpışma olasılığını %0,5’e çıkarır. 12 haneli bir rakam ID’si daha güvenlidir.
  • URL‑safe olmayan karakterler eklemeyin: ID’lerin URL bağlamında sorun çıkarmaması için alfabenin A-Za-z0-9_- dışına çıkması önerilmez. Ancak özel bir uygulama (örneğin yazdırılabilir ASCII gerekiyorsa) ek karakterler eklenebilir.

Bu sayfa, 1 ile 100 arasında ID üretebilir. Toplu oluşturma işlemi sırasında her ID’nin eşsiz olması garanti edilir (çarpışma kontrolü yapılır). Eğer oluşturulan ID’ler arasında tekrar varsa (çok düşük olasılık), sayfa tekrar dener. Pratikte bu durum neredeyse hiç gerçekleşmez.

Gizlilik ve İstemci Tarafında Oluşturma

Bu araç, ID’leri tamamen kullanıcının tarayıcısında, yerel olarak üretir. Sayfa yüklendiğinde herhangi bir ağ isteği yapılmaz, oluşturulan ID’ler BroBroGo sunucularına veya herhangi bir üçüncü tarafa gönderilmez. Bu, özellikle hassas verilerin bulunduğu sistemlerde önemlidir. Örneğin, bir kullanıcı veritabanında birincil anahtar olarak kullanılacak ID’ler üretiyorsa, bu ID’lerin oluşturulma anında dışarı sızma riski yoktur.

Ayrıca sayfa, çerez veya yerel depolama kullanmaz. Sayfa kapatıldığında üretilen ID’ler tamamen kaybolur. Kullanıcı bunları kopyalamayı unutursa geri getirilemez. Bu tasarım, gizliliği ön planda tutan bir yaklaşımdır.

Sıkça Sorulan Sorular

1. Nano ID ile UUID arasındaki temel fark nedir? UUID (v4) 128 bit rastgelelik ile 36 karakterlik sabit bir formattır. Nano ID ise uzunluğu ve alfabesi ayarlanabilir, varsayılan 21 karakterle benzer bir entropi (126 bit) sağlar. UUID daha yaygın bir standarttır, ancak Nano ID daha kısa ve özelleştirilebilirdir.

2. Alfabede en az kaç karakter olmalıdır? En az 2 farklı karakter. Tek karakterli alfabe ile çarpışmasız ID üretmek imkânsızdır. Sayfa bu durumu algılar, sonuçları temizler ve “Tümünü Kopyala” butonunu devre dışı bırakır.

3. Kaç tane ID aynı anda oluşturabilirim? 1 ile 100 arasında herhangi bir adet seçebilirsiniz. Adet değiştirildiğinde ID’ler yeniden oluşturulur.

4. Oluşturulan ID’lerin tekrarlanma olasılığı var mı? Teorik olarak evet, ancak pratikte yok denecek kadar küçüktür. Varsayılan 21 karakter ve 64 karakterlik alfabe ile aynı ID’nin iki kez üretilme olasılığı, 10 üzeri 18’de birin altındadır. Sayfa oluşturma sırasında aynı anda üretilen ID’ler arasında tekrar kontrolü yapar.

5. Rastgelelik kaynağı güvenli mi? Evet. Tarayıcının crypto.getRandomValues API’si kriptografik olarak güvenli, işletim sistemi seviyesinde rastgele sayılar sağlar. Tahmin edilmesi imkânsızdır.

6. Alfabeyi değiştirdiğimde neden ID’ler sıfırlanıyor? Her parametre değişikliği (uzunluk, alfabe, adet) ID’lerin yeniden oluşturulmasını tetikler. Alfabe geçersiz hale gelirse (tek karakter) sonuçlar temizlenir ve hata mesajı gösterilir. Bu, kullanıcının yanlışlıkla çalışmayan bir yapılandırmada kalmasını engeller.