Hash oluşturucu nasıl kullanılır
- Hash'lemek istediğiniz metni yazın veya yapıştırın.
- MD5, SHA-1, SHA-256, SHA-384 ve SHA-512 özetleri siz yazarken hesaplanır ve onaltılık olarak gösterilir.
- Bir değeri doğrulamak için beklenen hash'i karşılaştırma alanına yapıştırın; araç eşleşip eşleşmediğini söyler.
Hash'ler tarayıcınızda Web Crypto API ve JavaScript ile hesaplanır; girdiniz hiçbir zaman yüklenmez veya saklanmaz.
Kriptografik hash nedir?
Hash fonksiyonu, herhangi bir uzunluktaki girdiyi özet (digest) denen sabit uzunlukta bir parmak izine dönüştürür. İyi bir kriptografik hash:
- Deterministiktir: aynı girdi her zaman aynı özeti üretir.
- Tek yönlüdür: özetten girdiyi gerçekçi biçimde geri elde edemezsiniz.
- Çakışmaya dayanıklıdır: aynı özete sahip iki farklı girdi bulmak pratikte olanaksızdır.
- Duyarlıdır: girdinin tek bir bitini değiştirmek çıktı bitlerinin yaklaşık yarısını değiştirir.
SHA-256("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256("hello\n")= 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
Algoritma seçimi
| Algoritma | Özet boyutu | Durum |
|---|---|---|
| MD5 | 128 bit | Kırılmış: çakışmalar sıradan donanımda hızla üretilebilir. Yalnızca güvenlikle ilgisi olmayan sağlama toplamları için. |
| SHA-1 | 160 bit | Çakışma direnci açısından kırılmış: pratik çakışmalar herkese açık biçimde gösterildi. Aşamalı olarak kullanımdan kaldırılıyor. |
| SHA-256 | 256 bit | Güvenli ve en yaygın modern seçim. |
| SHA-384 / SHA-512 | 384 / 512 bit | Güvenli; SHA-512, 64 bit işlemcilerde SHA-256'dan daha hızlı olabilir. |
Güvenlikle ilgili her şey için (imzalar, sertifikalar, güvenilmeyen yansılardan indirilen dosyaların bütünlüğü) SHA-256 veya daha güçlüsünü kullanın. MD5 ve SHA-1, yalnızca kimsenin eşleşme uydurmaya çalışmadığı yerlerde kazara oluşan bozulmayı saptamak için kabul edilebilir kalır.
Sık yapılan hatalar
Hash'leme şifreleme değildir
Şifreleme bir anahtarla geri alınabilir; hash'leme ise hiç geri alınamaz. Bir hash'in "şifresini çözemezsiniz". Kısa veya yaygın girdiler yine de tahminle bulunabilir: saldırgan bir eşleşme çıkana kadar aday değerleri hash'ler; yaygın kelimelerin MD5 arama tablolarının var olmasının nedeni budur.
Parolaları asla düz, hızlı bir hash ile saklamayın
MD5, SHA-1 ve hatta SHA-256 hızlı olacak şekilde tasarlanmıştır; bu da saldırganların GPU'larda saniyede çok büyük sayıda parola tahminini denemesine olanak tanır. Parolaları, özel olarak tasarlanmış, kasıtlı olarak yavaş, tuzlu bir parola hash fonksiyonuyla saklayın: Argon2id, scrypt veya bcrypt. Bunlar her parolaya benzersiz bir tuz ve ayarlanabilir bir iş faktörü ekler.
# Yapmayın
stored = sha256(password)
# Yapın (Python, argon2-cffi)
from argon2 import PasswordHasher
stored = PasswordHasher().hash(password)
Girdideki görünmez farklar
Sondaki bir satır sonu, bir Windows satır sonu (\r\n) veya farklı bir Unicode normalleştirmesi tamamen farklı bir hash üretir. echo hello | sha256sum, hello\n'i hash'ler; yukarıdaki sonuçla eşleşmek için printf 'hello' veya echo -n kullanın. Bu araç, yazdığınız şeyin tam olarak UTF-8 baytlarını hash'ler.
Dosya sağlama toplamlarını doğrulama
Yazılım indirmeleri çoğu zaman bir SHA-256 sağlama toplamı yayımlar. İndirdiğiniz dosyanın hash'ini hesaplayın ve yayımlanan değerle karşılaştırın:
| Sistem | Komut |
|---|---|
| Linux | sha256sum file.iso |
| macOS | shasum -a 256 file.iso |
| Windows PowerShell | Get-FileHash file.iso -Algorithm SHA256 |
| Windows cmd | certutil -hashfile file.iso SHA256 |
Linux'ta sha256sum -c SHA256SUMS, bir sağlama toplamı dosyasında listelenen her dosyayı denetler. Bir sağlama toplamı yalnızca dosyanın yayımcının hash'lediğiyle eşleştiğini kanıtlar; özgünlüğü ancak sağlama toplamının kendisi imzalı bir dosya veya bir HTTPS sayfası gibi güvenilir bir kaynaktan geliyorsa kanıtlar. Bir sitenin sertifikasını SSL Sertifika Kontrolü ile doğrulayabilirsiniz.
2CF24DBA... ve 2cf24dba... aynı hash'tir. Bazı araçlar onaltılık yerine Base64 verir; karşılaştırmadan önce Base64 Kodlama ve Çözme ile dönüştürün.Sıkça sorulan sorular
Bir hash geri çevrilebilir veya şifresi çözülebilir mi?
Hayır. Hash fonksiyonları tasarım gereği bilgiyi atar. Kısa veya yaygın girdiler tahmin edip karşılaştırarak bulunabilir, ancak fonksiyonu tersine çevirerek bulunamaz.
MD5'i kullanmak hâlâ güvenli mi?
Güvenlik için değil. Çakışmaları üretmek çok kolaydır; bu yüzden MD5 imzalar, sertifikalar veya parolalar için kullanılmamalıdır. Kazara dosya bozulmasını fark etmek veya önbellek anahtarı olarak kullanmak için hâlâ sorun değildir.
Parolalar için hangi hash'i kullanmalıyım?
Bu sayfadakilerin hiçbirini. Tuzlamayı ve iş faktörlerini sizin yerinize halleden, bakımı yapılan bir kitaplık aracılığıyla Argon2id, scrypt veya bcrypt kullanın.
Hash'im neden başka bir aracınkinden farklı?
Genellikle girdi farklı olduğu için: fazladan bir satır sonu veya boşluk, farklı bir karakter kodlaması ya da bir dosyayı ve onun metin içeriğini hash'lemek. Hash'lenen baytları birebir karşılaştırın.
Güncellendi