Hash Oluşturucu
Metni ya da bir dosyayı MD5, SHA-1, SHA-2, SHA-3 veya HMAC ile hash'leyin.
İlgili araçlar
- Parola OluşturucuTarayıcınızda entropi tahminiyle güçlü rastgele parolalar oluşturun.
- Kodlayıcı / ÇözücüBase64, URL'ler ve HTML varlıklarını kodlayıp çözün, sayı tabanlarını dönüştürün.
- JWT ÇözücüJWT başlığını ve taleplerini çözün; token sahteciliğine yol açan algoritma ve başlık oyunlarına karşı uyarı alın, yeni token'lar imzalayın ve HS, RS, PS ile ES imzalarını tarayıcınızda doğrulayın.
Bu araç hakkında
Hash Oluşturucu, yapıştırdığınız metni UTF-8 olarak kodlar ve MD5, SHA-1, SHA-256, SHA-384 ile SHA-512'yi aynı anda hesaplayıp küçük harfli onaltılık olarak yazar; “SHA-3'ü de göster” seçeneği SHA3-224, SHA3-256, SHA3-384 ve SHA3-512'yi ekler; bunlar, Web Crypto'da SHA-3 bulunmadığı için sayfanın kendi FIPS 202 uygulamasıyla hesaplanır. “Gizli anahtarla HMAC” seçeneğini açtığınızda, yazdığınız anahtarla HMAC-SHA-1, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512 ve SHA-3 açıkken dört HMAC-SHA3 satırını döndürür (RFC 2104); HMAC-MD5 satırı yoktur. Kutudaki metnin yanı sıra açtığınız bir dosyayı da hash'ler ve bir parola KDF'si değildir: tuz yok, yineleme sayısı yok, bcrypt, scrypt, Argon2 veya PBKDF2 yok; dolayısıyla burada üretilen bir özet, parola saklamanın bir yolu değildir. MD5 ve SHA-1, bir saldırganın etkileyebileceği hiçbir şey için değil, hâlâ bunları yazdıran araçlarla sağlama toplamı karşılaştırmak için tutuluyor.
Metin ve HMAC anahtarı sayfada kalır - XGM API'sine yüklenmez ve URL'ye yazılmaz; URL yalnızca araç yolunu tutar, bu yüzden paylaşılan bir bağlantı hiçbir girdi taşımaz. SHA-1, SHA-256, SHA-384 ve SHA-512 crypto.subtle.digest'ten, anahtarlı türevleri ise crypto.subtle.importKey ile crypto.subtle.sign'dan gelir; MD5 ve dört SHA-3 uzunluğu sayfanın kendi JavaScript kodunda uygulanmıştır, çünkü Web Crypto bunların ikisini de sağlamaz. Kopyalama ve dışa aktarma dosyayı tarayıcıda yerel olarak oluşturur; ziyaretler arasında hiçbir şey saklanmaz.
Nasıl kullanılır
- Hash Oluşturucu aracını açın.
- İncelemek istediğiniz girdiyi yapıştırın veya yazın.
- Tarayıcınızda hesaplanan sonucu okuyun; girdi XGM'e gönderilmez.
- Çıktıyı yalnızca doğru göründüğünü kontrol ettikten sonra kopyalayın.
- Daha geniş bir teşhis görünümü gerekiyorsa ilgili XGM araçlarını kullanın.
SSS
Neden HMAC-MD5 yok?
Anahtarlı özetler tarayıcının Web Crypto uygulamasından gelir; bu uygulama SHA-1, SHA-256, SHA-384 ve SHA-512 üzerinde HMAC sunar, MD5’i ise hiç sunmaz. MD5, sayfanın kendi JavaScript koduyla hesaplanır ve anahtarsız bırakılır: HMAC-MD5’in yayınlanmaya değer modern bir kullanımı yoktur, HMAC-SHA3’ün ise vardır ve burada hesaplanır (SHA-3 süngeri üzerinde RFC 2104). Bir anahtar girdiğiniz anda MD5 satırının kaybolmasının nedeni budur. Eski bir protokol için HMAC-MD5 gerekiyorsa openssl gibi bir komut satırı aracı kullanın.
Kullanıcı parolalarını SHA-256 özetleri olarak saklayabilir miyim?
Hayır. SHA-256 hızlı olacak şekilde tasarlanmıştır ve tuzsuz tek bir özet, sıradan GPU'larda muazzam hızlarda tahmin edilebilir; bu yüzden çalınmış bir özet tablosu neredeyse bir parola tablosudur. Parola saklama, kullanıcı başına tuz kullanan bellek yoğun ya da iş faktörlü bir işlev gerektirir - Argon2id, scrypt, bcrypt veya PBKDF2 (RFC 8018) - bu araç bunların hiçbirini uygulamaz.
MD5 ve SHA-1 artık tamamen işe yaramaz mı?
Saldırganın söz konusu olduğu her yerde kırılmış sayılırlar: her ikisi için de pratik çakışma saldırıları vardır, bu yüzden imza, sertifika veya bütünlük garantisi taşımamalıdırlar. Güvenlik amacı taşımayan sağlama toplamları olarak hâlâ uygundurlar - bir indirmeyi üretici sayfasıyla karşılaştırmak, satırları yinelenenlerden arındırmak, eski bir ETag ile eşleştirmek - kimsenin çakışan bir girdi üretmeye çalışmadığı yerlerde. Diğer her yerde SHA-256 veya daha iyisini kullanın.
Aynı metinde özetim neden sha256sum çıktısından farklı?
Girdi, kutudaki tam UTF-8 baytları olarak özetlenir; sonuna satır sonu eklenmez. Kabuktaki echo bir satır beslemesi ekler; bu yüzden echo "abc" | sha256sum dört baytı özetlerken bu sayfa üç baytı özetler; printf '%s' abc ise eşleşir. Windows satır sonları bir başka yaygın nedendir: CRLF ve LF farklı baytlardır, dolayısıyla özetleri de farklıdır.
HMAC anahtarının belirli bir uzunlukta olması gerekir mi?
Her uzunluk çalışır. Anahtar, ham UTF-8 baytları olarak alınır ve RFC 2104 kuralını uygulayan Web Crypto'ya verilir: hash blok boyutundan uzun bir anahtar önce hash'lenir, kısa olan ise bloğa kadar sıfırla doldurulur. base64 veya hex yazılmış bir anahtar, çözülmeden o düz metin hâliyle kullanılır; karşı taraf ham baytları kullanıyorsa anahtarı kendiniz çözün.