İçeriğe geç
LeedyBox
Destek ol

Hash Oluşturucu: MD5, SHA-1, SHA-256, SHA-512 ve HMAC

Tarayıcıda metin veya dosyaların MD5, SHA-1, SHA-256, SHA-384, SHA-512 hash'ini ya da HMAC'ini hesaplayın, beklenen sağlama toplamıyla karşılaştırın.

Girdi

Metin, boşluklar ve satır sonları dahil tam olarak girildiği gibi hash'lenir. Bu kutudaki satır sonları LF olarak hash'lenir.

Sonuçlar

Hash'lerini görmek için metin girin veya bir dosya seçin.

MD5
SHA-1
SHA-256
SHA-384
SHA-512

Hex değerler büyük/küçük harf ayrımı yapılmadan karşılaştırılır; Base64 değerler tam olarak eşleşmelidir.

Notlar

  • MD5 ve SHA-1'e karşı bilinen çakışma saldırıları vardır ve güvenlik amaçlarıyla kullanılmamalıdır. Bunları yalnızca bir indirmeyi yayımlanmış sağlama toplamıyla karşılaştırmak gibi güvenlik dışı kontroller için kullanın.
  • Hash bir şifreleme değildir. Bu araç bir hash'i özgün metne veya dosyaya geri dönüştüremez.
  • Parolaları saklamak için düz hash'ler kullanmayın. Argon2, scrypt veya bcrypt gibi parola hash'lemeye özel bir yöntem kullanın.
  • Hash'ler baytlardan hesaplanır; bu nedenle farklı satır sonları (CRLF veya LF), farklı bir karakter kodlaması veya fazladan boşluklar içeren aynı metin farklı bir hash verir.
  • HMAC, bir hash'i gizli bir anahtarla birleştirir. HMAC-MD5 burada sunulmaz.
  • Metinler ve dosyalar tarayıcınızda işlenir ve LeedyBox'a gönderilmez. Dosyanın tamamı belleğe okunduğu için çok büyük dosyalar yavaş işlenebilir.

Sonuçları kullanmadan önce kontrol edin. Araç olduğu gibi ve herhangi bir garanti olmaksızın sunulur; sonuçlar eksik veya hatalı olabilir. Hizmet Koşulları

MD5 ve SHA-1 güvenlik amaçları için uygun değildir. Hash bir şifreleme değildir ve eşleşen bir sağlama toplamı yalnızca verinin, sağlama toplamının oluşturulduğu veriyle aynı olduğunu gösterir.

Nasıl kullanılır

  1. "Girdi" bölümünde, yazdığınız veya yapıştırdığınız metnin hash değerini almak için "Metin"i, cihazınızdaki bir dosyanın hash değerini almak için "Dosya"yı seçin.
  2. Dosya için dosyayı seçin veya kutuya bırakın, ardından "Hash'leri hesapla" düğmesine basın. Sonrasında "HMAC modu"nu veya anahtarı değiştirirseniz düğmeye yeniden basın.
  3. Bir "Çıktı biçimi" seçin: küçük harfli hex, büyük harfli hex veya Base64. Biçimi değiştirmek yalnızca aynı sonuçların yazılışını değiştirir, yeniden hesaplama yapılmaz.
  4. Düz hash'ler yerine HMAC hesaplamak için "HMAC modu"nu işaretleyin ve görünen alana gizli anahtarı girin. HMAC-MD5 sunulmadığından MD5 satırında "HMAC için kullanılamaz" yazar.
  5. Bir indirmeyi doğrulamak için yayımlanan değeri "Beklenen sağlama toplamı (isteğe bağlı)" alanına yapıştırın. Değer hesaplanan tüm sonuçlarla karşılaştırılır ve eşleşen satır "Eşleşiyor" olarak işaretlenir.

Sık sorulan sorular

Hash değerim neden sha256sum'ın veya başka bir aracın verdiğinden farklı?

Metin kutusu karakterleri tam olarak girdiğiniz gibi hash'ler; bu yüzden küçük farklar bile sonucu değiştirir. Yaygın bir neden sondaki satır sonudur: echo hello | sha256sum, "hello" ile birlikte bir satır sonunu hash'lediği için yalnızca "hello" için elde edilen SHA-256'dan farklı bir değer verir; printf hello | sha256sum ise satır sonu eklemez. Aynı görünen karakterler de farklı saklanabilir; örneğin é tek bir kod noktası olabileceği gibi e ve ardından gelen birleştirici bir aksan da olabilir. Bir dosyanın baytlarını olduğu gibi hash'lemek için içeriği yapıştırmak yerine "Dosya"yı kullanın, çünkü metin kutusu metni UTF-8 olarak kodlar ve satır sonlarını LF olarak hash'ler.

Yayımlanan sağlama toplamı doğru. Neden eşleşme yok?

Yalnızca hash değerini yapıştırın. Karşılaştırmadan önce boşluklar, sekmeler ve satır sonları kaldırılır; bu nedenle bir sağlama toplamı dosyasından tüm satırı yapıştırırsanız dosya adı değerin parçası olur, sha256: gibi bir önek de eşleşmeyi engeller. Hesaplanan tüm algoritmalarla karşılaştırma yapıldığından bir algoritma seçmeniz gerekmez. Yalnızca değeri yapıştırdığınız hâlde eşleşme yoksa "HMAC modu"nun kapalı olduğunu ve sağlama toplamının MD5, SHA-1, SHA-256, SHA-384 veya SHA-512 ile oluşturulduğunu kontrol edin; SHA-3 veya BLAKE2 gibi diğer algoritmalar burada hesaplanmaz. Bunlar doğruysa dosya büyük olasılıkla sağlama toplamının oluşturulduğu dosyadan farklıdır; örneğin başka bir sürümdür veya indirme yarım kalmıştır.

Sonucun e3b0c442 veya d41d8cd9 ile başlaması ne anlama gelir?

Bunlar boş girdinin (0 bayt) hex olarak yazılmış hash değerleridir: SHA-256 değeri e3b0c442 ile başlar ve b855 ile biter, MD5 değeri ise d41d8cd98f00b204e9800998ecf8427e'dir. "HMAC modu" kapalıyken bu değerleri metin kutusunu boşalttıktan sonra veya 0 baytlık bir dosyada görürsünüz. Kendi programınız boş olmaması gereken veriler için bu değerlerden birini üretiyorsa büyük olasılıkla boş bir dizeyi veya boş bir dosyayı hash'lemiştir.

HMAC modu ile bir webhook veya API imzasını kontrol edebilir miyim?

İmza SHA-1, SHA-256, SHA-384 veya SHA-512 ile oluşturulmuş bir HMAC ise çoğu zaman evet; HMAC-MD5 sunulmaz. "HMAC modu"nu işaretleyin, imzalama anahtarını girin, istek gövdesini girdi olarak kullanın ve imzayı sha256= gibi bir önek olmadan "Beklenen sağlama toplamı (isteğe bağlı)" alanına yapıştırın; hex ve Base64 imzaların ikisi de tanınır. Girdi, imzalanan baytlarla aynı olmalıdır; bu yüzden yeniden biçimlendirilmiş bir JSON gövdesi eşleşmez, CRLF satır sonları içeren bir gövde ise dosya olarak kaydedilip "Dosya" ile hash'lenmelidir. Birçok hizmet yalnızca gövdeyi değil, örneğin gövdenin önüne konan bir zaman damgasını ve bir ayırıcıyı da imzalar; bu nedenle tam olarak neyin imzalandığını hizmetin belgelerinden kontrol edin.

Gizli anahtarım hex veya Base64 olarak verildi. Kullanabilir miyim?

Yalnızca hizmet anahtar metnini olduğu gibi kullanıyorsa. "Gizli anahtar (UTF-8)" alanı girdiğiniz karakterlerin UTF-8 baytlarını kullanır ve hex ya da Base64 çözmez; bu nedenle hizmet anahtarını imzalamadan önce çözüyorsa burada hesaplanan HMAC eşleşmez. Alanın başındaki veya sonundaki boşluklar da anahtarın parçası sayılır.

Subresource Integrity (SRI) hash'i nasıl oluşturulur?

"Dosya"yı seçin, betik veya stil sayfası dosyasını seçin, "HMAC modu"nun kapalı olduğundan emin olun, "Hash'leri hesapla" düğmesine basın ve "Çıktı biçimi"ni "Base64" yapın. integrity özniteliğinin değerini elde etmek için SHA-384 değerinin önüne sha384- ekleyin; sha256- ve sha512- de aynı şekilde çalışır. Dosya, tarayıcının indirdiği dosyayla bayt bayt aynı olmalıdır; aksi hâlde tarayıcı dosyayı kullanmayı reddeder. Başka bir kaynaktan (origin) yüklenen bir dosya için ayrıca crossorigin özniteliği gerekir ve dosyanın sunucusu CORS'a izin vermelidir.

Hex ve Base64 çıktısı arasındaki fark nedir?

İkisi de aynı özeti kodlar. Hex her bayt için iki karakter kullanır, yani SHA-256 için 64 karakterdir ve sha256sum gibi araçların yazdırdığı biçimdir; Base64 daha kısadır, SHA-256 için 44 karakterdir. Base64 çıktısı +, / ve = dolgusu içeren standart alfabeyi kullanır, - ve _ kullanan URL-safe varyantı kullanmaz; bu nedenle URL-safe varyanttaki veya = dolgusu kaldırılmış bir değer karşılaştırmada eşleşmeyebilir.