IT
OmnvertGörsel • Belge • Ağ

Hash Üretici (MD5, SHA-1, SHA-256, HMAC)

Metinden hash üret — tarayıcında, yerelde.
Geliştirici Araçları →
Modern bütünlük kontrolü için SHA-256 kullan. Paylaşılan gizli anahtar gerekiyorsa HMAC kullan.
Gizli anahtar HMAC için yerelde kullanılır, sunucuya gönderilmez.
Yerelde çalışır; metnini yüklemeyiz.
Hex
Base64
Bu araç hakkında

Hashing, modern altyapının devasa miktarını sessizce destekleyen küçük hesaplama temellerinden biri — dosya bütünlüğü doğrulaması, parola depolama, dijital imzalar, deduplikasyon sistemleri, içerik adresli depolama, blockchain konsensüs, dağıtık önbellek geçersiz kılma ve düzinelerce diğer sistem bir hash fonksiyonunun girdi baytlarını tersine çevrilmesi pratikte imkânsız sabit boyutlu bir parmak izine eşlemesi özelliğine bağlı. Günlük geliştirici kullanımı çok daha dar: bir dosyanın yayımlanmış sağlama toplamıyla eşleştiğini teyit etmek, webhook yükü için imza üretmek, her baytı karşılaştırmadan iki büyük nesnenin eşitliğini doğrulamak. Bu araç yaygın operasyonları tek çalışma alanında öngörülebilir varsayılanlar ve net çıktıyla kapsıyor.

Algoritma seçimi insanların başlangıçta düşündüğünden daha önemli ve doğru cevap hash’in ne için kullanıldığına bağlı. Modern bütünlük kontrolü için — dosya karşılaştırma, deduplikasyon, içerik hash’leme — SHA‑256 doğru varsayılan. Hızlı, yaygın destekli ve 256‑bit çıktı pratik ölçeğin tamamında kazara çakışmayı esasen imkânsız kılıyor. SHA‑512 özellikle daha uzun digest gerektiğinde (şartname belirten kriptografik protokoller için) ya da SHA‑512’nin SHA‑256’dan daha hızlı olduğu 64‑bit platformları hedeflerken doğru tercih. SHA‑1 ve MD5 hâlâ eski sistemlerde görünüyor ama çakışma dirençli değil — ikisinin de çakışma özelliklerine karşı pratik saldırılar var; bu yeni tasarımlarda güvenlik açısından hassas amaçlarda asla kullanılmamalı anlamına geliyor.

Paylaşılan sırlı imza gerektiğinde HMAC, düz hash yerine doğru araç. Desen her yerde görünüyor: Stripe, GitHub, Twilio ve diğer sağlayıcıların webhook imzaları; AWS Signature V4 ve benzeri şemalar için API istek imzalama; OAuth 1.0a istek imzaları (hâlâ üzerinde olan az sayıda sistem için); oturum bütünlüğü tokenları. HMAC bir mesajı ve bir gizli anahtarı, uzunluk uzatma saldırılarına matematiksel olarak bağışık bir şekilde birleştiriyor ve aynı sırrı paylaşan herkesin doğrulayabileceği bir digest üretiyor. Bulmacanın iki parçası — mesaj baytları ve anahtar baytları — doğrulamanın başarılı olması için iki taraf arasında birebir eşleşmek zorunda.

HMAC doğrulama hatalarının en yaygın kaynağı hash fonksiyonunun kendisi değil, hash öncesi gerçekleşen girdi normalizasyonu. Sondaki yeni satırı dahil etmenin gerekli olup olmadığı, belirli karakterleri URL‑kodlamanın gerekli olup olmadığı, sorgu parametrelerini alfabetik sıralamanın gerekli olup olmadığı, UTF‑8 dizelerinden BOM işaretlerini çıkarmanın gerekli olup olmadığı veya kanonik JSON biçimlendirmenin kullanılmasının gerekli olup olmadığı konularında anlaşamayan iki sistem, geliştiricinin ‘aynı’ girdi olarak gördüğü için farklı hash’ler üretiyor. Bu durumları hata ayıklamak her tarafın gerçekten neyi hash’lediğinin byte‑hassas temsilini almak, karakter karakter karşılaştırmak ve farkı bulmak gerektiriyor. Buradaki araç hash çıktısının yanında tam girdi baytlarını göstererek yardımcı oluyor; bu da başarısız bir webhook entegrasyonunun her iki tarafını karşılaştırmayı mümkün kılıyor.

Hex ve Base64 çıktı formatları kısa bir notu hak ediyor; çünkü bunları karıştırmak tekrar eden bir hata ayıklama karışıklığı kaynağı. Aynı hash hex (küçük veya büyük harf, SHA‑256 için 64 karakter) ya da Base64 (normal veya URL‑safe, SHA‑256 için 44 karakter) olarak temsil edilebiliyor. Aynı baytları kodlayan ‘farklı’ hash’ler üreten iki uygulama yaygın bir durum; buradaki araç her iki temsili yan yana gösteriyor; böylece altta yatan digest’in aslında aynı olduğunu ve anlaşmazlığın tamamen çıktı biçimlendirmesi hakkında olduğunu hızlıca tespit edebiliyorsun.

Dosya hash’leme tam aracı yalnızca metinden ayıran vaka. İndirilen bir ISO’nun yayımlanmış SHA‑256 sağlama toplamıyla eşleştiğini doğrulamak kanonik kullanım vakası; ama dosya hash’leme deduplikasyon iş akışlarında (bu iki büyük nesne aynı içeriğe mi sahip), adli analizde (bu dosya bilinen referansla byte‑bayt aynı mı) ve içerik adresli depolamada (bu blob’un kanonik adresi nedir) da ortaya çıkıyor. Buradaki araç dosya hash’lerini WebCrypto API kullanarak tamamen tarayıcıda hesaplıyor, herhangi bir sunucuya yükleme yok; bu da hash’lenen dosyalar içeriği kullanıcının makinesinden ayrılmaması gereken hassas materyal olduğunda elzem.

Kullanım senaryoları
  • Dosya/çıktı bütünlüğünü hızlıca kontrol etmek.
  • API imza girdilerini yeniden üretip hash uyuşmazlığını debug etmek.
  • Test fixture, seed veya cache key için deterministik değer üretmek.
  • Normalizasyon sonrası iki metnin aynı olup olmadığını doğrulamak.
  • Webhook doğrulaması için HMAC digest üretmek.
  • Hex ve Base64 farkından kaynaklı entegrasyon hatalarını yakalamak.
Nasıl çalışır?
  1. 1Algoritmayı seçin (MD5, SHA-1, SHA-256 veya HMAC).
  2. 2Hash’lemek istediğiniz metni yapıştırın (payload, ID, imza string’i).
  3. 3HMAC seçtiyseniz gizli anahtar girin.
  4. 4Hash’i üretin ve hex veya Base64 olarak kopyalayın.
  5. 5Sistemler arası uyumsuzlukları çözmek için çıktıları karşılaştırın.
Hash Üretici SSS
MD5/SHA-1 ile şifre saklamak güvenli mi?
Hayır. Şifreler için bcrypt, scrypt veya Argon2 gibi özel password hashing algoritmaları ve salt kullanılmalıdır. MD5/SHA çok hızlıdır ve şifre için uygun değildir.
HMAC nedir, ne zaman kullanılır?
HMAC anahtarlı hash’tir. Paylaşılan bir gizli anahtar ile mesajın gerçekten doğru kaynaktan geldiğini kanıtlamak için kullanılır (örn. webhook doğrulama).
Hash neden başka araçla uyuşmuyor?
Genellikle encoding (UTF‑8 vs farklı), \n/\r\n farkı, görünmez boşluklar veya yanlış string’i hash’leme nedeniyle olur. Girdiyi normalize edin ve byte bazında karşılaştırın.
Hex mi Base64 mü kullanmalıyım?
İkisi de aynı digest’i temsil eder. API’nizin beklediği formatı kullanın; dokümanlarda hex, kütüphanelerde Base64 sık görülür.
Metnimi veya gizli anahtarımı yüklüyor musunuz?
Hayır. Hash işlemi tarayıcınızda yerelde yapılır. HMAC anahtarı da yerelde kullanılır; sunucuya gönderilmez.
Dosya hash’leyebilir miyim?
Bu sayfa metin odaklıdır. İsterseniz ayrıca “dosya sürükle-bırak → digest” akışı eklenebilir.