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:

Girdi
UTF-8 olarak kodlanır. Özetler siz yazdıkça güncellenir. Girdi uzunluğu (bayt): 11

Özetler

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.

  1. "Merhaba" yazın: SHA-256 özeti 7fdc9f47 ile başlar.
  2. Baş harfi küçültüp "merhaba" yapın: özet bu kez 4c6bcdd5 ile başlar.
  3. Değişen yalnızca tek karakterin büyüklüğü; iki özet ise baştan sona bambaşka.
  4. Her iki özet de tam 64 hex karakter: çıktı uzunluğu girdiden bağımsızdır.
  5. "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.