Hash/Kripto
HMAC Generator
Bir metnin veya dosyanın HMAC (Hash-based Message Authentication Code) değerini gizli bir anahtarla hesaplayın — sekiz algoritmayla aynı anda: MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160.
HMAC (Hash-based Message Authentication Code) is a hash computed together with a secret key, proving a message hasn't changed and was sent by someone who knows that key. Unlike a plain hash, an HMAC can't be forged without knowing the secret.
How to use it
- Enter text or a file and a secret key — the HMAC is computed instantly with eight algorithms at once (MD5, SHA-1, SHA-2, SHA3, RIPEMD-160).
- Copy the variant you need to verify a signature or compare against an expected value.
- The same input and key always produce the same HMAC — handy for checking against a signature received from another system.
Common uses
- Verifying a webhook signature from a payment service or API (most sign the payload with HMAC-SHA256).
- Generating a request signature for an API that requires HMAC authentication.
- Debugging a mismatched signature — checking the key, input encoding, and algorithm one at a time.
Things to keep in mind
HMAC protects against tampering and confirms the sender's authenticity, but it doesn't encrypt the message itself — the content stays readable.
A mismatched HMAC is most often caused by different data encoding (e.g. JSON field order) or a stray whitespace or line break, not by a bug in the algorithm itself.
Bu araç hakkında makale: HMAC: anahtarlı bir hash sıradan bir hash'ten nasıl farklıdır
Sıkça sorulan sorular
HMAC ile düz bir hash arasındaki fark nedir?
Düz bir hash yalnızca verinin değiştirilmediğini kanıtlar; HMAC ayrıca bir gizli anahtar kullanır, bu yüzden hem bütünlüğü hem de gönderenin paylaşılan sırrı bildiğini kanıtlar — anahtar olmadan biri, algoritmayı bilse bile geçerli bir HMAC üretemez.
HMAC için hangi hash algoritmasını seçmeliyim?
HMAC-SHA256 sağlam bir modern varsayılandır. HMAC-MD5 veya HMAC-SHA1 gibi eski seçenekler özellikle HMAC olarak henüz kırılmamıştır, ancak yeni sistemler için SHA-256 veya daha güçlüsü önerilir.
Gizli anahtarım bir yere gönderiliyor mu?
Hayır. HMAC tamamen tarayıcınızda Web Crypto API aracılığıyla hesaplanır — anahtar ve mesaj cihazınızdan asla çıkmaz.
HMAC neden sıradan eşitlik operatörüyle karşılaştırılamaz?
Sıradan dize karşılaştırması ilk uyuşmazlıkta durur ve yürütme süresi, saldırgana ilk kaç karakteri doğru tahmin ettiğini gösterir (timing attack). PHP'deki hash_equals gibi sabit zamanlı karşılaştırma fonksiyonları gereklidir.
Aynı anahtar birden fazla farklı amaç için kullanılabilir mi?
Önerilmez. Aynı gizli anahtar hem webhook imzalama hem de başka bir amaç için kullanılırsa, bir sistemin ele geçirilmesi otomatik olarak diğerini de ele geçirir — her ayrı amaç için ayrı bir anahtar üretilmelidir.