HMAC Hesaplayıcı: SHA-1, SHA-256, SHA-512

Bir mesaj ve gizli bir anahtar yazın. Mesajın dört özet fonksiyonuyla HMAC değerini, onaltılık ve Base64 olarak, tarayıcınızda hesaplanmış görürsünüz.

Ücretsiz Tarayıcınızda çalışır Kontrol: 10 Kasım 2026 Salı

Kimlik doğrulaması yapılacak veri. Metin, yazdığınız gibi UTF-8 olarak okunur. Onaltılık ya da Base64 bayt olarak okunur.

Mesaj biçimi

Mesajın nasıl yazıldığı.

Gizli anahtar. Aynı anahtara sahip olmayan kimse aynı HMAC değerini üretemez; bu yüzden anahtarı gizli tutun.

Anahtar biçimi

Anahtarın nasıl yazıldığı. Base64, bir JWK "k" değerinin URL uyumlu alfabesini de okur.

Sonuç

HMAC değerleri

Bu araç tarayıcınızda çalışır. Girdiğiniz bilgiler bize gönderilmez.

Nasıl kullanılır?

  1. Veriyi Mesaj alanına yazın. İkili veri için Mesaj biçimi altında Onaltılık ya da Base64 seçin.
  2. Gizli anahtarı Anahtar alanına yazın ve Anahtar biçimi altında nasıl yazıldığını seçin.
  3. HMAC değerleri tablosundaki dört satırı okuyun. İhtiyacınız olan değeri kopyalayın ya da sisteminizin verdiği değerle karşılaştırın.
  4. Değerler başka bir sistemle farklıysa önce baytları kontrol edin: farklı bir satır sonu ya da kodlama farklı bir HMAC verir.

HMAC nedir?

HMAC (RFC 2104), yalnızca gizli anahtarı bilen birinin üretebileceği kısa bir değerdir: bir mesajın değiştirilmediğini ve anahtarı bilen birinden geldiğini gösterir. Anahtar ile mesaj, bir özet fonksiyonu H'den iki kez geçirilerek oluşturulur.

HMAC mesajı gizlemez. Mesajı olan herkes okuyabilir; HMAC yalnızca mesajın doğruluğunu kontrol etmeyi sağlar.

HMAC(K, m) = H((K XOR opad) || H((K XOR ipad) || m))

ipad = 0x36 baytının B kez tekrarı
opad = 0x5C baytının B kez tekrarı
B    = H'nin blok boyutu: SHA-1 ve SHA-256 için 64 bayt, SHA-384 ve SHA-512 için 128 bayt

Hangi özet fonksiyonu, hangi anahtar?

HMAC-SHA-256 en yaygın seçimdir; birçok webhook ve API bunu kullanır. HMAC-SHA-512 aynı yapının daha uzun çıktılı biçimidir. HMAC-SHA-1 eski sistemlerde hâlâ görülür; yeni tasarımlarda seçilmemelidir.

Anahtar rastgele ve en az özet çıktısı kadar uzun olmalıdır. Bir kelime ya da kısa bir cümleyle yazılmış anahtar kolay tahmin edilir ve tahmin edilen bir anahtarla HMAC değerinin bir anlamı kalmaz.

Onaltılık ve Base64

İki biçim de aynı baytları gösterir. Onaltılık her baytı iki rakamla yazar; SHA-256 değeri 64 rakamdır. Base64 üç baytı dört karakterle yazar; SHA-256 değeri 44 karakterdir ve sondaki = işareti dolgu içindir (RFC 4648).

  • HMAC-SHA-1: 40 onaltılık rakam, 28 Base64 karakteri
  • HMAC-SHA-256: 64 onaltılık rakam, 44 Base64 karakteri
  • HMAC-SHA-384: 96 onaltılık rakam, 64 Base64 karakteri
  • HMAC-SHA-512: 128 onaltılık rakam, 88 Base64 karakteri

Örnek: RFC 4231 test durumu 2

Anahtar Jefe ve mesaj what do ya want for nothing?, RFC 4231'in SHA-256, SHA-384 ve SHA-512 için ikinci test durumudur; SHA-1 için aynı çift RFC 2202'de yer alır. Aşağıdaki tablo sayfanın bunlar için gösterdiği sonuçtur ve HMAC-SHA-256 değeri RFC'nin yazdığı değerdir: 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843.

Algoritma Onaltılık Base64
HMAC-SHA-1 effcdf6ae5eb2fa2d27416d5f184df9c259a7c79 7/zfauXrL6LSdBbV8YTfnCWafHk=
HMAC-SHA-256 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843 W9zBRr9gdU5qBCQmCJV1x1oAPwidJzmDnexYuWTsOEM=
HMAC-SHA-384 af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649 r0XS43ZIQDFhf3jStYprG5x+9GT1oBtH5C7Dc2MiRF6OIkDKXmnix4syOez6shZJ
HMAC-SHA-512 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737 Fkt6e/z4GeLjlfvnO1bgo4e9ZCIugx/WECcM1+olBVSXWL91wFqZSm0DT2X48Ob9yuqxo01Ka0tjbgcKOLznNw==

Sık sorulan sorular

HMAC, mesajı şifrelemekle aynı şey mi?

Hayır. HMAC mesajı gizlemez; herkes okuyabilir. Yalnızca mesajın değiştirilmediğini ve gönderenin anahtarı bildiğini gösterir. Gizlilik gerekiyorsa şifreleme gerekir.

Özet (hash) ile HMAC arasındaki fark nedir?

Özet yalnızca mesaja bağlıdır, bu yüzden herkes hesaplayabilir. HMAC ise gizli anahtar ister; yalnızca anahtarı bilen biri onu üretebilir ya da doğrulayabilir. Düz özetler için özet hesaplayıcısına bakın.

Kütüphanem farklı bir HMAC veriyor, neden?

Anahtarın ya da mesajın baytları farklıdır. Metin olarak yazılan anahtar UTF-8 baytlarıdır; aynı harfler onaltılık yazılırsa başka baytlar olur. Mesajın sonundaki bir satır sonu da HMAC değerini değiştirir.

Hangi uzunlukta anahtar kullanmalıyım?

Özet çıktısı kadar uzun, rastgele bir anahtar kullanın: HMAC-SHA-256 için 32 bayt. RFC 2104, daha kısa anahtarı güçlükle önerir; kelimelerden ya da kısa bir cümleden yapılmış anahtar kolay tahmin edilir.

Bu sayfayla bir webhook imzasını kontrol edebilir miyim?

Evet, imzalanmış tam baytları kullanırsanız. Webhook imzaları genellikle ham istek gövdesi üzerinden hesaplanır; gövdeyi değiştirmeden yapıştırın, yeniden biçimlendirilmiş bir JSON farklı HMAC değeri verir.

Anahtarım ya da mesajım bir yere gönderiliyor mu?

Hayır. HMAC tarayıcınızda, tarayıcının kendi SubtleCrypto arayüzüyle hesaplanır. Anahtar ve mesaj yüklenmez ve hiçbir yerde saklanmaz.

Kaynaklar

Rakamlar ve metin en son 10 Kasım 2026 Salı tarihinde kontrol edildi.

Sitenin çalışması için gerekli çerezleri kullanıyoruz. İzin verirseniz Google, size özel reklamlar göstermek için reklam çerezleri de kullanır. Reddederseniz yine reklam görürsünüz, ancak bu reklamlar kişiselleştirilmez.