Hash Üretici (SHA)
Girdiğiniz metnin SHA-1, SHA-256, SHA-384 ve SHA-512 kriptografik özetlerini hesaplar. Tarayıcının Web Crypto API'si kullanılır; metin sunucuya gönderilmez.
Son güncelleme:
Özetler
Yukarıya metin girin; özetler anında görünür.
- SHA-256
- b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
- SHA-512
- 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
- SHA-384
- fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
- SHA-1
- 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
Bu üretici ne zaman işe yarar
İndirilen bir dosyayı doğrularken
Yayıncı sitesinde duran SHA-256 değeri, elinizdeki dosyanın yolda değişmediğinin tek kanıtıdır. İndirdiğiniz içeriğin özetini hesaplayıp yayınlananla karşılaştırmak otuz saniyelik bir alışkanlıktır ve tedarik zinciri sürprizlerini kapıda yakalar.
İki ortamın aynı içeriği taşıdığını kanıtlarken
Staging ile production'daki bir konfigürasyonun gerçekten aynı olup olmadığı tartışmasında dosyaları satır satır karşılaştırmak yerine iki özeti yan yana koymak yeter: özetler aynıysa baytlar aynıdır.
Bir sırrı saklamadan varlığını loglarken
API anahtarının kendisini loglamak sızıntı riskidir; özetini loglamak ise "hangi anahtar kullanıldı?" sorusuna cevap vermeye yeter. Özetten anahtara geri dönüş yolu yoktur. Aynı fikir webhook imzalarında da karşınıza çıkar: sağlayıcı gövdenin özetini paylaşılan sırla imzalar, alıcı kendi hesabıyla karşılaştırıp isteğin gerçekliğini kanıtlar.
Çalışılmış örnek: tek harfin çığ etkisi
Çığ etkisini kendi gözünüzle görmek için yukarıdaki kutuya sırayla iki kelime yazın.
- "Merhaba" yazın: SHA-256 özeti 7fdc9f47 ile başlar.
- Baş harfi küçültüp "merhaba" yapın: özet bu kez 4c6bcdd5 ile başlar.
- Değişen yalnızca tek karakterin büyüklüğü; iki özet ise baştan sona bambaşka.
- Her iki özet de tam 64 hex karakter: çıktı uzunluğu girdiden bağımsızdır.
- "Merhaba"yı tekrar yazarsanız ilk özeti aynen geri alırsınız: fonksiyon belirlenimcidir.
Özetten metne giden yol yoktur; internetteki "hash çözücü" siteleri aslında önceden hesaplanmış milyarlarca girdi-özet çiftinde arama yapar. Bu yüzden kısa ve tahmin edilebilir bir değeri (telefon numarası, sıra numarası) hash'lemek onu anonimleştirmez: arama uzayı sayılabilirse tablosu da kurulur.
Sık yapılan dört hata
Hash'i şifreleme sanmak
Şifreleme anahtarla geri çözülür; hash tek yönlüdür ve anahtarı yoktur. "Veriyi SHA-256 ile şifreledik" cümlesi teknik olarak iki kavramı birbirine karıştırır: veri gizlenecekse şifreleme, bütünlük kanıtlanacaksa hash gerekir.
Kişisel veriyi hash'leyip anonim saymak
Tuzlanmamış özet, girdisi tahmin edilebilir olduğu sürece geri bulunur: olası tüm telefon numaralarını hash'leyip tabloda aramak bugünkü donanımla dakikalar meselesidir. Anonimleştirme ayrı bir disiplindir; çıplak hash o disiplinin yerini tutmaz.
Görünmez karakterleri hesaba katmamak
Kopyalanan metnin sonundaki boşluk, satır sonu farkı (CRLF/LF) veya BOM özeti tamamen değiştirir. "Aynı metin ama özetler farklı" şikâyetlerinin büyük kısmı bayt düzeyinde aynı olmayan iki girdinin hikâyesidir. Şüphede ilk bakılacak yer bu sayfadaki bayt sayacıdır: uzunluklar farklıysa görünmez karakter var demektir.
Yeni tasarıma SHA-1 koymak
2017'deki SHAttered saldırısı, aynı SHA-1 özetini taşıyan iki farklı PDF üretilebildiğini gösterdi. Eski sistemlerle uyum için SHA-1 okumak zorunda kalabilirsiniz; yeni bir tasarımda üretmek için hiçbir neden kalmadı.
Bu araçla birlikte kullanılanlar
- UUID Üretici Kriptografik olarak güvenli UUID v4 ve zaman-sıralı v7 üretin. Toplu üretim ve biçim seçenekleri.
- Base64 Kodlayıcı-Çözücü Metni Base64'e kodlayın veya geri çözün. Standart ve URL-güvenli (base64url) varyant; UTF-8 uyumlu, tarayıcıda.
- HTML / Entity Kodlayıcı-Çözücü Metni HTML entity'lerine kodlayın veya geri çözün. XSS önleme için özel karakterleri kaçışlayın; tarayıcıda, kayıt gerektirmez.
- HTML Görüntüleyici HTML kaynağını yapıştırın, anında canlı önizleyin. Sandbox'lı, izole bir çerçevede; script'ler güvenlik için kapalı.
- JWT Çözücü Bir JSON Web Token'ın header ve payload bölümlerini çözün, standart claim'leri ve geçerlilik süresini görün. Token tarayıcıdan çıkmaz.
Sık Sorulan Sorular
SHA-256 ile SHA-512 arasında ne fark var?
İkisi de SHA-2 ailesindendir. SHA-256 256 bitlik (64 hex karakter), SHA-512 ise 512 bitlik (128 hex karakter) özet üretir. SHA-512 64 bitlik mimarilerde genelde daha hızlıdır; SHA-256 daha kısa çıktısıyla yaygın varsayılandır.
Bu araç neden MD5 üretmiyor?
MD5 ve SHA-1 çakışma saldırılarına karşı kırılmıştır; güvenlik amaçlı kullanımları önerilmez. Bu araç, tarayıcının yerel Web Crypto API'sinin desteklediği algoritmaları kullanır — MD5 bilinçli olarak bu API'de yoktur. SHA-1 yalnızca eski sistemlerle karşılaştırma için bırakılmıştır.
Hash'i parola saklamak için kullanabilir miyim?
Hayır. SHA hızlıdır — bu, parola için bir zayıflıktır; saldırgan saniyede milyarlarca deneme yapabilir. Parolalar için kasıtlı olarak yavaş ve tuzlu bir algoritma kullanın: bcrypt, scrypt veya Argon2. .NET'te PBKDF2 (Rfc2898DeriveBytes) de uygundur.
Aynı girdi her zaman aynı hash'i mi üretir?
Evet. Kriptografik hash fonksiyonları belirlenimcidir (deterministic): aynı bayt dizisi her zaman aynı özeti verir. Tek bir bitlik değişiklik bile çığ etkisiyle tamamen farklı bir özet üretir. Bu yüzden hash'ler bütünlük doğrulamasında kullanılır.
.NET'te SHA-256 nasıl hesaplanır?
System.Security.Cryptography.SHA256.HashData(byte[]) tek satırda özet verir. Akış için SHA256.Create() ve ComputeHash kullanılır. Çıktı bayt dizisidir; Convert.ToHexString ile hex metne çevrilir.