Güçlü Şifre Nasıl Üretilir ve Saklanır? Entropi, Web Crypto ve parola yöneticisi
"Şifre123!" güçlü görünür ama saniyeler içinde kırılır. Gerçekten güçlü bir şifrenin iki temeli vardır: yeterince uzun olmak ve gerçekten rastgele üretilmek. Bu rehberde entropinin ne olduğunu, kaç bit hedeflemeniz gerektiğini, Math.random'un neden riskli olduğunu ve üretilen şifreyi nasıl güvenle saklayacağınızı kırılma süresi tablosuyla anlatıyoruz.
Güçlü şifre nasıl üretilir?
crypto.getRandomValues) rastgele oluşturup bir parola yöneticisinde saklamaktır. Böylece hem yüksek entropi elde edilir hem de her hesap için farklı şifre kullanılır.
İnsanların seçtiği şifreler tahmin edilebilir kalıplar içerir: sözlük kelimeleri, doğum tarihleri, klavye dizileri (qwerty), sona eklenen 1!. Saldırganlar tam da bu kalıpları hedefleyen "sözlük" ve "kural tabanlı" saldırılar kullanır. Bu yüzden en iyi şifre, bir insanın uyduramayacağı, makine tarafından rastgele üretilmiş şifredir. DevAraç şifre üreticisi tam olarak bunu yapar ve sonucun tahmini gücünü bit cinsinden gösterir.
Entropi nedir, kaç bit gerekir?
uzunluk × log₂(alfabe boyutu). 16 karakterli, 94 sembollük bir şifre yaklaşık 105 bit entropiye sahiptir. Genel öneri en az 80 bit; kritik hesaplar için 100 bit ve üzeridir.
Entropi, olası şifre sayısının bir ölçüsüdür. Her ek bit, kaba kuvvet saldırganının denemesi gereken kombinasyon sayısını ikiye katlar. 40 bitlik bir şifre modern donanımla saniyeler içinde denenebilirken, 80 bitlik bir şifre için bu süre pratikte yüzyıllara çıkar. Aşağıdaki tablo farklı ayarların entropisini gösterir:
| Uzunluk | Karakter seti | Alfabe | ≈ Entropi |
|---|---|---|---|
| 8 | küçük harf | 26 | ~38 bit (zayıf) |
| 12 | harf + rakam | 62 | ~71 bit (orta) |
| 16 | harf + rakam + sembol | 94 | ~105 bit (çok güçlü) |
| 20 | harf + rakam + sembol | 94 | ~131 bit (çok güçlü) |
Entropi = uzunluk × log₂(alfabe). Değerler, şifrenin gerçekten rastgele üretildiği varsayımıyla geçerlidir; insanın seçtiği "karmaşık görünen" şifrelerde gerçek entropi çok daha düşüktür.
Uzunluk mu, karmaşıklık mı daha önemli?
Bir örnek karşılaştırma: 8 karakterli, dört karakter setini de kullanan bir şifrenin entropisi ~52 bittir. Buna karşılık 16 karakterli, yalnızca küçük harf içeren bir şifre ~75 bit verir — yani daha uzun ama daha "basit" şifre, kısa ama "karmaşık" olandan daha güçlüdür. Bu yüzden NIST'in güncel parola rehberi (SP 800-63B) zorunlu karmaşıklık kurallarından çok uzunluğu ve rastgeleliği öne çıkarır.
Neden Math.random değil, Web Crypto?
Math.random() kriptografik olarak güvenli değildir; ürettiği dizi tahmin edilebilir olabilir. Şifre, anahtar veya token gibi güvenlik değerlerinde bu ciddi bir risktir. Bunun yerine crypto.getRandomValues kullanılmalıdır; bu fonksiyon işletim sisteminin güvenli rastgelelik kaynağından beslenir.
Math.random() performans için tasarlanmış bir sözde-rastgele üreticidir (PRNG). İç durumu, yeterli çıktı gözlemleyen bir saldırgan tarafından geri hesaplanabilir; bu da sonraki "rastgele" değerlerin tahmin edilmesine yol açar. Oyunlar için sorun değildir, ama şifre için kabul edilemez.
% alfabe_boyutu ile karaktere çevirmek, bazı karakterlerin diğerlerinden daha sık seçilmesine yol açar (modulo bias). Bu, şifrenin gerçek entropisini düşürür. DevAraç üreticisi, aralık dışındaki baytları eleyerek (rejection sampling) düzgün dağılım sağlar ve her seçili karakter setinden en az bir karakter garantiler.
DevAraç şifre üreticisi bunun yerine tarayıcıya yerleşik crypto.getRandomValues kullanır, modulo bias'ı önler ve sonucu kripto-rastgele biçimde karıştırır. Ürettiği şifre yalnızca sizin tarayıcınızda kalır; hiçbir yere gönderilmez. Aynı Web Crypto altyapısı, sitedeki UUID üreticisi ve SHA-256 hash aracı için de kullanılır.
Şifreler nasıl güvenle saklanır?
Kullanıcı tarafı: parola yöneticisi
En güçlü şifre bile tek bir yerde saklanmıyorsa ya unutulur ya da zayıf bir yere not edilir. Çözüm bir parola yöneticisidir: üretilen rastgele şifreleri şifreli bir kasada tutar, siz yalnızca tek bir ana parolayı hatırlarsınız. Böylece her hesap için farklı, uzun ve rastgele şifre kullanmak zahmetsiz hale gelir — ki şifre tekrar kullanımı, veri sızıntılarında en büyük risktir.
Geliştirici tarafı: hash'leme
Bir sistem kullanıcı parolalarını saklıyorsa, bunları asla düz metin tutmamalıdır. Ayrıca tek başına SHA-256 gibi hızlı bir hash de yeterli değildir; çünkü saldırganlar saniyede milyarlarca deneme yapabilir. Doğru yaklaşım şudur:
- Salt: Her parolaya benzersiz rastgele bir değer eklemek, aynı parolaların aynı özeti almasını ve "rainbow table" saldırılarını önler.
- Yavaş algoritma:
bcrypt,scryptveyaArgon2kasıtlı olarak yavaştır; bu da kaba kuvvet denemelerini pahalı hale getirir. - Aktarım güvenliği: Parola her zaman TLS/HTTPS üzerinden gönderilmelidir.
Güçlü şifreni şimdi üret
Uzunluğu ayarla, karakter setlerini seç, üret. Web Crypto ile önyargısız rastgelelik; entropi bit değeri ve güç etiketi anında gösterilir. Tamamen tarayıcıda.
Şifre Üreticiyi Aç →Adım adım: güçlü şifre üret ve sakla
| Adım | İşlem | Amaç |
|---|---|---|
| 1 | Uzunluğu en az 16 yap | Yüksek entropi tabanı |
| 2 | Dört karakter setini de aç | Alfabeyi genişlet |
| 3 | Şifre üret'e bas | Kripto-rastgele üretim |
| 4 | Entropi/güç etiketini kontrol et | 80+ bit doğrula |
| 5 | Kopyala → parola yöneticisine kaydet | Benzersiz, güvenli saklama |
Şifreyi ürettikten sonra onu bir yere düz metin olarak not etmek yerine doğrudan parola yöneticinize yapıştırın. Her hesap için bu adımı tekrarlayın; asla aynı şifreyi iki serviste kullanmayın.
Sık sorulan sorular
Kaç karakterlik şifre yeterince güçlüdür?
Rastgele şifreleri nasıl hatırlarım?
SHA-256 ile parola saklayabilir miyim?
Şifreye simge eklemek onu güçlü yapar mı?
Üretilen şifre bir yere gönderiliyor mu?
crypto.getRandomValues ile cihazınızda üretilir. Şifre hiçbir sunucuya gönderilmez veya kaydedilmez. İnternet bağlantısı kesilse bile araç çalışmaya devam eder.İlgili rehberler
crypto.getRandomValues ile sağlanır, modulo bias rejection sampling ile önlenir; harici kütüphane veya sunucu isteği yoktur. Entropi uzunluk × log₂(alfabe) formülüyle hesaplanır. Kaynaklar: NIST SP 800-63B (Digital Identity Guidelines) · W3C Web Cryptography API · OWASP Password Storage Cheat Sheet. Son güncelleme: 13 Temmuz 2026. İçerik bilgilendirme amaçlıdır; kritik/güvenlik işlerinde sonuçları kendi ortamınızda da doğrulayın.