Hash Üretici (SHA-256 / SHA-512)

Metnin veya dosyanın SHA-1, SHA-256, SHA-384 ve SHA-512 özetlerini üretin — tarayıcının WebCrypto motoruyla, hiçbir şey yüklenmeden.

1.202 görüntülenme

Nasıl Çalışır

Kriptografik hash fonksiyonu, herhangi bir boyuttaki girdiyi — bir kelime, bir paragraf, birkaç gigabaytlık dosya — sabit uzunlukta bir çıktıya, yani özete dönüştürür: SHA-1 için 160 bit, SHA-256 için 256, SHA-384 için 384, SHA-512 için 512 bit. Bu araç dördünü de yerel olarak, tarayıcının yerleşik WebCrypto motoruyla hesaplar — HTTPS bağlantılarınızın zaten güvendiği aynı denetlenmiş gerçekleme — bu sayede büyük dosyalar bile hızlıca özetlenir ve cihazınızdan hiç çıkmaz.

Bu fonksiyonları kullanışlı kılan üç özellik vardır. Birincisi, tek yönlüdürler: bir özetten yola çıkarak orijinal girdiyi geri getirmenin pratik bir yolu yoktur — yalnızca bir tahmini yeniden özetleyip karşılaştırabilirsiniz. İkincisi, deterministiktirler: aynı girdi her zaman tam olarak aynı özeti üretir; bir sağlama değerini anlamlı kılan da budur. Üçüncüsü, çığ etkisi (avalanche effect) gösterirler — girdinin tek bir bitini değiştirmek, örneğin gigabaytlık bir dosyadaki tek bir karakter, çıktının bitlerinin kabaca yarısını değiştirir. Bir onaltılık karakter bile farklıysa, girdiler aynı değildir; nokta.

Tipik örnek: bir yazılım yayıncısı indirme bağlantısıyla birlikte sha256sum: 9f86d0... yayınlar. Dosyayı indirdikten sonra buraya yapıştırıp özetleyin ve iki dizgeyi karakter karakter karşılaştırın — eşleşirse dosya bozulmadan gelmiştir; eşleşmezse iletim sırasında bozulmuş veya değiştirilmiştir. Aynı teknik iki dosyanın bayt bayt aynı olup olmadığını kontrol etmek veya bir dosyanın içeriğinden kararlı bir önbellek anahtarı üretmek için de işe yarar.

Bilinmesi Gerekenler

MD5 bilerek sunulmuyor. Kriptografik olarak kırıktır: araştırmacılar pratik çakışma (collision) saldırıları göstermiştir — yani iki farklı girdi, aynı MD5 özetini üretecek şekilde tasarlanabilir; bu da onu bütünlük veya güvenlik kontrolü amacından tamamen çıkarır. Tarayıcıların WebCrypto API'si bu yüzden onu hiç içermez. Bir yayıncı yalnızca MD5 sağlama değeri veriyorsa bunu son çare sayın ve SHA-256 isteyin — neredeyse her modern dağıtım bunu sağlar.

SHA-1, kazara bozulmayı (kötü indirme, disk hatası) tespit etmek için sorun değildir ama sertifika ve dijital imza gibi güvenlik amaçlı kullanımlar için terk edilmiştir, çünkü ona karşı da çakışma saldırıları gösterilmiştir; sonucun kasıtlı bir saldırgana karşı dayanması gerektiğinde SHA-256 veya üstünü tercih edin.

Son olarak, yalnız başına hash'leme parolaları saklamanın doğru yolu değildir: bir parolanın çıplak SHA-256'sı hızlı hesaplanır, bu da çalınmış bir veritabanına sahip saldırganın saniyede milyarlarca tahmin deneyebileceği anlamına gelir. Doğru parola saklama, hesap başına benzersiz rastgele bir tuz (salt) ekler ve yavaş, amaca özel bir fonksiyon kullanır (bcrypt, scrypt veya Argon2) — bu araç kimlik doğrulama için değil, sağlama ve bütünlük kontrolü içindir.

Kısacası: bu araç bir dosyanın veya metnin değişip değişmediğini kanıtlamak için idealdir, ama tek başına ne bir kimlik doğrulama sistemidir ne de bir şifreleme yöntemidir — hash tek yönlüdür, şifreleme ise geri çevrilebilir olmak üzere tasarlanmıştır; ikisini birbirine karıştırmayın.

Sıkça Sorulan Sorular

MD5 neden yok?

Tarayıcıların WebCrypto motoru MD5'i bilerek içermez; algoritma kriptografik olarak kırılmıştır. Yayıncı yalnız MD5 veriyorsa SHA-256 isteyin — modern her dağıtım sunar.

SHA-1 kullanmak güvenli mi?

Kazara bozulmaya karşı bütünlük kontrolünde evet. Güvenlik amaçlı (imza, sertifika) kullanımda SHA-1 terk edilmiştir — SHA-256 ve üstünü tercih edin; listede önde olmaları bu yüzdendir.

Dosyam hash için yükleniyor mu?

Hayır. Dosya tarayıcınızın içinde okunup WebCrypto ile özetlenir; hiçbir yere iletilmez.

Bir hash, orijinal girdiye geri çevrilebilir mi?

Hayır — tek yönlü fonksiyonun tüm amacı zaten budur. Özetten girdiye matematiksel bir kestirme yol yoktur; tek "geri çevirme" yöntemi, girdileri tahmin edip özetleyerek eşleşme aramaktır — bu da yalnızca kısa veya tahmin edilebilir girdilere karşı pratiktir. Tuzlanmamış sızdırılmış parola özetlerinin kırılma yöntemi tam olarak budur.

Bu araçla parola hash'leyip sonucu saklamak uygun mu?

Gerçek bir kimlik doğrulama sistemi için değil. Bir parolanın çıplak SHA-2 özeti deterministik ve hızlıdır, bu yüzden çalınan bir özet veritabanı hızla kaba kuvvetle kırılabilir. Parola saklama, hesap başına tuz (benzersiz rastgele veri) ve bcrypt veya Argon2 gibi kasıtlı yavaş bir algoritma gerektirir — bu araç dosya ve metin bütünlüğü kontrolü içindir, kimlik bilgisi saklamak için değil.

Yorumlar

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

Benzer Araçlar