HMAC Oluşturucu

Bir mesajı gizli anahtarla imzalayın: SHA-1, SHA-256, SHA-384 veya SHA-512. Hex ve Base64 çıktı.

Özet algoritması
Gizli anahtar
Mesaj

Anahtar ve mesaj bu sekmede kalır. Hiçbir şey yüklenmez, hiçbir şey kaydedilmez.

Hex

Bir anahtar ve mesaj girin

Base64

Bir anahtar ve mesaj girin

HMAC Nasıl Üretilir

1

Özet algoritmasını seçin

SHA-256 standart tercihtir; Stripe, GitHub ve webhook sağlayıcılarının çoğu bunu kullanır. SHA-1 ise hâlâ onu zorunlu kılan eski entegrasyonlar için burada.

2

Anahtarı ve mesajı girin

Anahtar iki tarafın da elindeki paylaşılan gizli değerdir. Mesaj ise karşı tarafın imzaladığı baytların aynısı olmalı, yani genellikle JSON'a çevrilmeden önceki ham istek gövdesi.

3

Sonucu karşılaştırın

Hex veya Base64 özetini kopyalayın ve gelen imza başlığıyla karşılaştırın. Tutuyorsa veri hem gerçekten o kaynaktan gelmiş hem de yolda değişmemiş demektir.

Özellikler

SHA-1, SHA-256, SHA-384 ve SHA-512
Hex ve Base64 çıktı aynı anda
Tam Unicode desteği, Türkçe karakterler doğru imzalanır
Yazarken anında hesaplar, gönder düğmesi yok
Tarayıcının kendi Web Crypto uygulamasını kullanır
Anahtar ve mesaj cihazınızdan çıkmaz
İki biçimi de tek tıkla kopyalayın
Ücretsiz, üyelik yok, istek sınırı yok

Sıkça Sorulan Sorular

Normal özet kimin ürettiği konusunda hiçbir şey kanıtlamaz, çünkü aynı metni herkes özetleyebilir. HMAC özete gizli bir anahtar karıştırır, dolayısıyla tutan bir özet gönderenin anahtarı bildiğini kanıtlar. Webhook'ların çıplak SHA-256 ile değil HMAC ile imzalanmasının sebebi budur.

Neredeyse her zaman mesaj bayt bayt aynı olmadığı için. En sık sebep, ham istek gövdesi yerine yeniden serileştirilmiş bir JSON nesnesini imzalamaktır. Boşluk, anahtar sırası ve sondaki satır sonu özeti değiştirir. Bazı sağlayıcılar ayrıca zaman damgasını ve gövdeyi bir ayraçla birleştirip imzalar, o yüzden dokümantasyondaki tam metni kontrol edin.

Karşı taraf hangisini kullanıyorsa onu. Stripe ve GitHub hex gönderir, AWS ve eski SOAP tarzı API'lerin çoğu Base64 kullanır. İkisi de aynı baytların iki farklı yazımıdır, çevirdikten sonra hex tutuyorsa imza geçerlidir.

HMAC-SHA1, düz SHA-1 çakışmalarındaki gibi kırılmadı ve TOTP hâlâ onu kullanıyor. Yine de yeni bir işte onu seçmek için sebep yok. Sadece SHA-1 konuşan bir sistemle çalışmıyorsanız SHA-256 kullanın.

Hayır. Özet, bu sekmenin içinde Web Crypto API ile hesaplanır. Yazdıklarınız için yükleme, kayıt ya da analitik yok.

En az özet çıktısı kadar, yani SHA-256 için 32 bayt. Daha kısa anahtarlar içeride doldurulur ve güvenlik katmaz. Akılda kalıcı bir cümle seçmek yerine API anahtarı oluşturucumuzla üretin.

Evet. Doğrulama, HMAC'i kendiniz üretip gelenle karşılaştırmaktan ibarettir. Kendi kodunuzda ise düz eşitlik yerine crypto.timingSafeEqual gibi zaman sızdırmayan bir karşılaştırma kullanın.

Evet. Hem anahtar hem mesaj özetlenmeden önce UTF-8 olarak kodlanır, yani ş, ğ, ı ve diğerleri doğru bir uygulamada üreteceği özetin aynısını üretir.

Özel Bir Araç veya Uygulamaya mı İhtiyacınız Var?

Üretim kalitesinde web uygulamaları, SaaS platformları ve geliştirici araçları oluşturuyoruz. Projeniz hakkında konuşalım.

veya ücretsiz görüşme ayarlayın