tooly

Hash oluşturucu

Herhangi bir metin veya dosyanın MD5, SHA-1, SHA-256, SHA-384 ve SHA-512 özetlerini hesaplayın. Hash'ler siz yazdıkça güncellenir. Dosyalar yerel hash'lenir, büyük indirmeleri gizlice doğrulayabilirsiniz.

Her şey tarayıcınızda çalışır — hiçbir şey gönderilmez

Nasıl kullanılır

  1. 1

    Metin yazın ya da yapıştırın veya bir dosya seçin.

  2. 2

    Beş hash de anında hesaplanır.

  3. 3

    İhtiyacınız olanı kopyalayın.

Hash ne işe yarar

Kriptografik bir hash fonksiyonu, herhangi bir boyuttaki girdiyi sabit uzunlukta bir parmak izine dönüştürür. Aynı girdi her zaman aynı özeti (digest) üretir ve girdinin tek bir bitini değiştirmek tamamen farklı bir özet üretir. Özetten girdiyi yeniden oluşturamazsınız ve modern algoritmalarda aynı özete sahip iki girdiyi pratikte bulamazsınız.

Bu, iki şeyi bayt bayt karşılaştırmadan aynı olup olmadıklarını bilmeniz gereken her durumda hash'leri kullanışlı kılar:

  • İndirmeleri doğrulamak. Linux ISO'ları, firmware görüntüleri ve birçok yükleyici, indirme bağlantısının yanında bir SHA-256 yayımlar. Dosyanız aynı değeri veriyorsa sağlam ulaşmıştır.
  • Kopyaları tespit etmek. Aynı SHA-256'ya sahip iki fotoğraf veya belge, adları ne olursa olsun aynı dosyadır.
  • Önbellek anahtarları ve ETag'ler. Web sunucuları ve derleme araçları, içeriğin değişip değişmediğini anlamak için onu hash'ler.
  • API'lerde bütünlük. Webhook'lar, paket kilit dosyaları ve Subresource Integrity öznitelikleri özetlere dayanır.
  • Hata ayıklama. Kodunuzun hesapladığı hash'i bir referans değerle karşılaştırmak, hatanın hash'lemede mi yoksa girdide mi olduğunu hızla gösterir.

Beş algoritma yan yana

Araç beşini birden hesaplar, böylece bir sitenin yayımladığı formatla hangisi olursa olsun eşleştirebilirsiniz.

  • MD5, 128 bit, 32 onaltılık karakter. 1991'de tasarlandı. 2004'ten beri pratik çakışmalar mümkün olduğundan, bir saldırganın girdi oluşturabileceği yerlerde kullanılmamalıdır. Hızlı kopya kontrolleri ve eski sağlama toplamları için hâlâ yaygındır.
  • SHA-1, 160 bit, 40 onaltılık karakter. 2017'deki ilk kamuya açık çakışmadan sonra kullanımdan kaldırıldı. Git tarihsel olarak nesneleri SHA-1 ile tanımladı; hâlâ her yerde olmasının nedeni budur.
  • SHA-256, 256 bit, 64 onaltılık karakter. Sağlama toplamları, sertifikalar, paket yöneticileri ve blok zincirleri için güncel varsayılandır.
  • SHA-384, 384 bit, 96 onaltılık karakter. SHA-512'nin kısaltılmış bir varyantıdır; genellikle TLS'te ve Subresource Integrity hash'lerinde kullanılır.
  • SHA-512, 512 bit, 128 onaltılık karakter. SHA-256 ile aynı ailedendir ancak 64 bitlik dahili işlemler kullanır; bu da onu 64 bitlik işlemcilerde SHA-256'dan hızlı yapabilir.

Seçme şansınız varsa SHA-256 yayımlayın ve kontrol edin. MD5 ve SHA-1 yalnızca kasıtlı değişikliği değil, kazara bozulmayı tespit etmek için kabul edilebilir.

Metin için eşleşen bir hash elde etmek

Özetiniz "aynı" metin için başka birininkinden farklı çıktığında, girdi neredeyse hiçbir zaman gerçekten aynı değildir. Kontrol edilecekler:

  • Sondaki satır sonu. echo hello | sha256sum, hello ve ardından gelen bir satır besleme karakterini hash'ler. Buradaki metin kutusu tam olarak yazdığınızı hash'ler; bu yüzden sona yeni bir satır eklemediğiniz sürece sonuçlar farklı olur. Komut satırında echo -n veya printf fazladan karakteri önler.
  • Satır sonları. Windows CR LF, Linux ve macOS LF kullanır. Yapıştırılan çok satırlı bir metin, nereden geldiğine bağlı olarak satır sonlarını değiştirebilir.
  • Kodlama. Metin hash'lenmeden önce UTF-8'e dönüştürülür. Latin-1 veya UTF-16 baytlarını hash'leyen bir sistem, düz ASCII dışındaki her şey için farklı bir sonuç alır.
  • Görünmez karakterler. Web sayfalarından veya PDF'lerden kopyalanan bölünemez boşluklar ve sıfır genişlikli karakterler ekranda aynı görünür.
  • Onaltılık harf büyüklüğü. Özetler küçük harfle gösterilir. A3F… ve a3f… aynı değerdir; büyük/küçük harfe duyarsız karşılaştırın.

Dosyaları hash'lemek ve sağlama toplamlarını doğrulamak

Dosya hash'i… seçilen dosyayı yerel olarak okur ve beş özetin hepsini tam baytlarından hesaplar. Dosya adı ve tarihi sonucu etkilemez, yalnızca içerik etkiler. SHA ailesi tarayıcının yerleşik Web Crypto uygulamasını kullanır; MD5 ise tarayıcılar onu sağlamadığı için küçük bir JavaScript kütüphanesiyle hesaplanır.

Bir indirmeyi doğrulamak için yayıncının sağlama toplamı sayfasını açın, dosyanıza ait satırı bulun ve buradaki ilgili satırla karşılaştırın. İlk ve son altı veya sekiz karakteri karşılaştırmak hızlı bir mantık kontrolüdür; gerçek güvenlik için dizenin tamamını karşılaştırın. Değerler farklıysa, kasıtlı bir değişiklik olduğunu varsaymadan önce dosyayı yeniden indirin; en olası neden yarıda kesilmiş bir indirmedir.

Dosyanın tamamı hash'lemeden önce belleğe yüklenir, bu yüzden çok büyük dosyalar, özellikle telefondaki birkaç gigabaytlık dosyalar, yavaş olabilir veya başarısız olabilir. Hiçbir şey yüklenmez.

Hash'ler ne değildir

Düz bir hash, şifre saklamanın bir yolu değildir. MD5 ve SHA ailesi hızlı olacak şekilde tasarlanmıştır; bu da saldırganların sızdırılmış bir özete karşı saniyede milyarlarca tahmini denemesine olanak tanır. Şifre saklamak için bcrypt, scrypt veya Argon2 gibi tuzlu (salt) ve bilinçli olarak yavaş bir fonksiyon gerekir. Yalnızca güçlü bir gizli değere ihtiyacınız varsa Şifre oluşturucu kullanın.

Hash aynı zamanda şifreleme de değildir. Tek yönlüdür: orijinali geri almak için bir anahtar yoktur.

SSS

Dosyam yükleniyor mu?

Hayır. Hash'leme tarayıcınızdaki Web Crypto API'yi kullanır. Dosya cihazınızdan çıkmaz.

Hangi hash'i kullanmalıyım?

Bugün sağlama toplamı ve bütünlük için SHA-256. MD5 ve SHA-1 kazara bozulmayı tespit için yeterli ama kurcalamaya karşı güvenli değil.

İndirdiğim dosyayı doğrulayabilir miyim?

Evet. Dosyayı seçin, sonra SHA-256'yı indirme sayfasında yayınlanan değerle karşılaştırın.

Dosya boyutu sınırı var mı?

Sabit bir sınır yok, ancak dosyanın tamamı hash'lemeden önce belleğe okunur; bu yüzden çok gigabaytlık dosyalar belleği az olan cihazlarda, özellikle telefonlarda başarısız olabilir. Hiçbir şey yüklenmez.

İlgili araçlar