Şifre Üretici

Uzunluğu ve karakter kümeleri seçilebilen güçlü rastgele şifreler üretin — tarayıcının kriptografik rastgeleliğiyle.

1.318 görüntülenme

Nasıl Çalışır

Şifre gücü toplamsal değil, üsteldir: olası kombinasyon sayısı karakter kümesi boyutunun uzunluk üzeri alınmasıyla bulunur (karakterKümesiBoyutu^uzunluk) ve uzunluğu tek başına en güçlü kaldıraç yapan da bu üstel ilişkidir. Yalnızca küçük harf kullanan 8 karakterlik bir şifre 26 karakterlik bir kümeden seçilir ve 26^8 — yaklaşık 208 milyar kombinasyon verir; bu çok gibi görünse de modern donanım saniyede milyarlarca tahmin deneyebilir. Büyük harf, rakam ve sembol ekleyip uzunluğu 12 karaktere çıkarınca küme yaklaşık 95 karaktere büyür ve 95^12 — yaklaşık 540 katrilyon katrilyon (5,4 × 10^23) kombinasyon ortaya çıkar. Bu ufak bir iyileştirme değildir; her ek karakter toplama değil çarpma yaptığı için kat kat büyük bir sıçramadır. Somut örnek: yalnızca küçük harfli 8 karakterlik bir şifreden, dört karakter türünün tümünü içeren 12 karakterlik bir şifreye geçmek güvenliği yalnızca ikiye katlamaz — kaba kuvvetle kırma süresini "makul sürede kırılabilir"den "gelecekteki donanımla bile gerçekçi olarak erişilemez"e taşır.

Bu araç her karakteri Math.random() yerine crypto.getRandomValues ile — tarayıcının kriptografik olarak güvenli rastgele sayı üreticisiyle — seçer. Bu ayrım önemlidir: Math.random() animasyonlar ve oyunlar için tasarlanmış hızlı, öngörülebilir bir sözde rastgele üreteçtir ve iç durumu bazı durumlarda gözlemlenen çıktıdan yeniden inşa edilebilir; bu da onu güvenlikle ilgili hiçbir iş için uygun yapmaz. crypto.getRandomValues ise işletim sisteminin kriptografik entropi kaynağından beslenir; bu kaynak, önceki çıktıları görmüş bir saldırgan için bile öngörülemez olacak şekilde tasarlanmıştır.

Bilinmesi Gerekenler

Uzunluk neredeyse her zaman karmaşıklığı yener. Yalnızca küçük harf kullanan 16 karakterlik bir şifre (26^16), dört karakter türünü karıştıran 8 karakterlik bir şifreden (95^8) matematiksel olarak çok daha güçlüdür; çünkü üs, tabandan daha belirleyicidir. Daha uzun-basit bir şifre ile daha kısa-karmaşık bir şifre arasında seçim yaparken, daha uzun olanı seçin. Bu yüzden bu araçta uzunluğu artırmak, ekstra karakter türü eklemekten her zaman daha büyük bir güvenlik kazancı sağlar.

Şifre cihazınızdan hiç çıkmaz: tamamen tarayıcınızda üretilir, bu araç tarafından hiçbir sunucuya gönderilmez, kaydedilmez veya saklanmaz. Sayfayı yenilemek veya kapatmak şifreyi tamamen yok eder — tam olarak bu yüzden ekranda veya bir metin dosyasında bırakmak yerine doğrudan bir şifre yöneticisine kopyalanmalıdır.

Aynı şifreyi birden çok hesapta kullanmak, tek bir veri sızıntısını birçoğuna dönüştürür. Bir sitenin veritabanı sızdırılırsa — dikkatli, iyi yönetilen servislerin başına bile bu gelir — sızan şifre listesi dolaşmaya başladığı an aynı şifreyi paylaşan her hesap savunmasız kalır. Her site için üretilmiş benzersiz bir şifre, bir şifre yöneticisinde saklandığında, tek bir sızıntının zararını yalnızca o hesapla sınırlar. Bu araç, çıktısını doğrudan panoya kopyalayıp bir şifre yöneticisine yapıştırmanız için tasarlanmıştır — şifreyi hiçbir yerde not almadan.

Sıkça Sorulan Sorular

Şifrem kaç karakter olmalı?

Normal hesaplar için en az 12, kritik hesaplar (e-posta, bankacılık) için 16 ve üzeri önerilir. Uzunluk karmaşıklıktan önemlidir: 16 karakterlik küçük harfli bir şifre, simgeli 8 karakterlikten daha güçlüdür.

Üretilen şifre sunucuya gönderiliyor mu?

Hayır. Şifre, tarayıcınızın crypto.getRandomValues API'siyle tamamen cihazınızda üretilir ve cihazınızdan çıkmaz. Sayfayı yenilediğinizde yok olur.

Aynı şifreyi birden fazla sitede kullanabilir miyim?

Asla. Bir sitedeki veri sızıntısı tüm hesaplarınızı açığa çıkarır. Her site için ayrı şifre üretin ve bir şifre yöneticisinde saklayın.

Bir karakter daha eklemek neden bir sembol eklemekten daha fazla işe yarıyor?

Çünkü uzunluk bir üs, karakter çeşitliliği ise yalnızca tabandır. Uzunluğa bir karakter eklemek toplam kombinasyon sayısını tüm karakter kümesi boyutuyla çarpar; bir sembol türü daha eklemek ise tabanı yalnızca birkaç birim büyütür. Gerçekçi herhangi bir şifre uzunluğunda uzunluk artışı açık farkla kazanır.

Math.random() zaten yeterince rastgele değil mi?

Oyun veya animasyon için evet — ama bu hızlı bir sözde rastgele üreteçtir, kriptografik değildir ve çıktısı bazı durumlarda tahmin edilebilir veya yeniden inşa edilebilir. Şifre üretimi, bu aracın yalnızca kullandığı kriptografik olarak güvenli kaynak olan crypto.getRandomValues'a ihtiyaç duyar; bu yüzden şifre araçlarında Math.random() güvenlik açısından yetersiz kabul edilir.

Yorumlar

Henüz yorum yok — ilk yorumu siz yazın!

Benzer Araçlar