Hash Hesaplama: SHA-256, SHA-512, SHA-1, MD5
Hash hesaplama için metin yazın veya bir dosya seçin: araç SHA-256, SHA-384, SHA-512 ve SHA-1 değerlerini, isterseniz MD5 değerini de anında hesaplar. Beklenen bir hash değerini (ör. indirme sayfasından) yapıştırarak doğrudan karşılaştırabilirsiniz. Her şey tarayıcınızda çalışır – dosyalar asla yüklenmez.
Nasıl hesaplanır?
Hash fonksiyonu, her uzunluktaki veriyi sabit uzunlukta bir değere dönüştürür: hash, özet (digest) ya da sağlama toplamı (checksum). Aynı girdi her zaman aynı hash’i verir; tek bir karakteri değiştirmek bambaşka bir sonuç üretir. Hash değerinden girdiye geri dönülemez.
Algoritmalar
- SHA-256 (256 bit, 64 onaltılık karakter): günümüzün standardı – indirme doğrulamalarında, Git’te, sertifikalarda ve blok zincirlerinde kullanılır. SHA-384 ve SHA-512 gibi NIST FIPS 180-4’te tanımlanmıştır.
- SHA-384 ve SHA-512 (96 ve 128 onaltılık karakter): SHA-2 ailesinin daha uzun üyeleri; 64 bit işlemcilerde SHA-512 çoğu zaman SHA-256’dan bile hızlıdır.
- SHA-1 (40 onaltılık karakter): 2017’deki ilk pratik çakışma saldırısından beri kırık kabul edilir. NIST, dijital imzalarda kullanımını yasaklamıştır; basit bir sağlama toplamı olarak hâlâ karşınıza çıkar, ör. eski Git sürümlerinde.
- MD5 (32 onaltılık karakter): 2004’ten beri kırıktır (RFC 6151). Aynı MD5 değerine sahip iki farklı dosya saniyeler içinde üretilebilir. Yalnızca kazara oluşan aktarım hatalarına karşı sağlama toplamı olarak işe yarar. Tarayıcılarda MD5 bulunmadığından araç, RFC 1321’deki test değerleriyle doğrulanmış kendi uygulamasını kullanır.
İndirilen dosyayı doğrulama
Birçok proje dosyanın yanında bir SHA-256 checksum yayımlar. Dosyayı burada seçin ve yayımlanan değeri “Beklenen hash ile karşılaştır” alanına yapıştırın – eşleşiyorsa dosya değişmeden gelmiştir. Beklenen değerdeki büyük/küçük harf, boşluk ve iki nokta önemli değildir. Windows’ta aynısını certutil -hashfile dosya SHA256, macOS ve Linux’ta shasum -a 256 dosya veya sha256sum dosya komutuyla yapabilirsiniz.
Hash’im neden farklı çıkıyor?
Genellikle görünmeyen karakterler yüzünden: echo metin | sha256sum metni satır sonuyla birlikte, echo -n ise satır sonu olmadan hash’ler. Windows satır sonları (LF yerine CR LF), bayt sırası işareti (BOM) veya UTF-8 dışındaki bir kodlama da hash’i değiştirir.
Hash’ler ve parolalar
SHA-256 veya MD5 gibi hızlı hash fonksiyonları parola saklamak için uygun değildir – saldırganlar saniyede milyarlarca tahmin deneyebilir. Bunun yerine Argon2, scrypt veya bcrypt gibi yavaş ve tuzlu (salt) algoritmalar kullanılır.
Hash’ler tarayıcınızın Web Crypto API’siyle hesaplanır. Metniniz, dosyanız ve karşılaştırma değeriniz gönderilmez, kaydedilmez ve adres çubuğuna yazılmaz.
Sıkça sorulan sorular
Dosya hash değeri nasıl alınır?
Dosyayı “Veya bir dosyanın hash’ini alın” alanından seçin – SHA-256 değeri hemen sonucun en üstünde görünür. Dosya yalnızca tarayıcınızda okunur ve asla yüklenmez.
SHA-256 şifresi çözülebilir mi?
Hayır. Hash bir şifreleme değil, tek yönlü bir fonksiyondur. Ancak kısa veya yaygın girdilerde (ör. zayıf parolalar) saldırganlar deneme yanılmayla ya da önceden hesaplanmış tablolarla eşleşen bir girdi bulabilir.
MD5 güvenli mi?
Hayır. MD5 2004’ten beri kırıktır; sıradan bir bilgisayarda saniyeler içinde çakışma üretilebilir. Güvenlik gerektiren işlerde SHA-256 veya daha güçlüsünü kullanın. Kazara oluşan aktarım hatalarına karşı sağlama toplamı olarak MD5 hâlâ iş görür.
Hash’im neden komut satırındakiyle eşleşmiyor?
En sık neden satır sonudur: echo "metin" | sha256sum sona bir \n ekler. echo -n veya printf kullanın. Farklı satır sonları (Windows CR LF) veya karakter kodlamaları da hash’i değiştirir.
Onaltılık (hex) ve Base64 çıktı arasındaki fark nedir?
Aynı hash’in farklı yazımıdır: onaltılık gösterim bayt başına 2 karakter kullanır (SHA-256 = 64 karakter), Base64 daha kısadır (44 karakter). Base64, örneğin Subresource Integrity’de (integrity="sha256-…") kullanılır.
Kaynaklar ve yasal dayanak
- FIPS 180-4: NIST FIPS 180-4 – Secure Hash Standard (SHS)
- NIST – Example values for SHA-1, SHA-256, SHA-384, SHA-512 (test vectors)
- RFC 1321: RFC 1321 – The MD5 Message-Digest Algorithm (Appendix A.5 test suite)
- RFC 6151: RFC 6151 – Updated Security Considerations for MD5 and HMAC-MD5
- NIST – Transitioning away from SHA-1 (SP 800-131A Rev. 2)
- MDN Web Docs – SubtleCrypto.digest()
Güncelleme:
Benzer araçlar
- Base64 encode ve decodeBase64 ve Base64url’i doğru UTF-8 ile kodlayın ve çözün; URL encode/decode (yüzde kodlama) dahil. Anlaşılır hata mesajları, tamamen tarayıcınızda çalışır.
- Şifre oluşturucuŞifre oluşturucu: güçlü rastgele şifreler ve akılda kalan parola cümleleri oluşturun, entropiyi bit olarak görün – tarayıcınızda, hiçbir şey gönderilmez.
- UUID oluşturucu: UUID v4 ve v7 oluşturun ve doğrulayınOnline UUID oluşturun: sürüm 4 (rastgele) veya sürüm 7 (zamana göre sıralı), tek seferde 1.000 adede kadar. UUID doğrulayın; sürüm, varyant ve zamanı görün.
- Regex testerRegex tester: JavaScript düzenli ifadelerini canlı test edin – eşleşmeler vurgulanır, gruplar tabloda, desenin her parçası açıklanır. Ücretsiz, veri yüklenmez.
- Luhn algoritması: kontrol basamağı doğrulayıcı ve hesaplayıcıNumaraları Luhn algoritmasıyla (mod 10, ISO/IEC 7812-1) doğrulayın veya kontrol basamağını hesaplayın – yalnızca biçim kontrolü, tarayıcınızda yerel çalışır.
- AB KDV numarası doğrulama (format ve kontrol hanesi)AB KDV numarası doğrulama: 27 AB ülkesi ve Kuzey İrlanda (XI) için KDV kimlik numarasının formatını ve kontrol hanesini kontrol edin. VIES bağlantısıyla.