Geliştirici / İmzalar
HMAC Oluşturucu (SHA-256, SHA-512)
Webhook ve API imzalarını test etmek için SHA-256, SHA-384, SHA-512 veya SHA-1 kullanarak bir mesaj ve gizli anahtar için hex ya da Base64 biçiminde HMAC imzası oluşturun.
HMAC Oluşturucu (SHA-256, SHA-512): HMAC, gizli bir anahtarı bir hash işlevi aracılığıyla mesajla birleştirir; böylece yalnızca anahtara sahip olan biri aynı imzayı oluşturabilir. İşlem, tarayıcının HTTPS için kullandığı uygulamayla aynı olan tarayıcınızdaki Web Crypto API ile gerçekleştirilir. Boş anahtara izin verilir; HMAC standardında tanımlandığı üzere sıfır baytlık anahtar olarak işlenir. Sunucuya hiçbir dosya yüklenmeden tarayıcınızda %100 yerel olarak çalışır.
- Kategori
- Geliştirici araçları
- Çalıştırma sayısı
- Tarayıcınızda
- Maliyet
- Ücretsiz · kayıt gerekmez
- Kullanılabilirlik
- Kullanıma hazır
Tamamen tarayıcınızda çalışır
——Mesaj; boşluklar ve satır sonları dahil, tam olarak yazıldığı gibi UTF-8 metni olarak okunur; sondaki satır sonu sonucu değiştirir. Stripe ve GitHub gibi hizmetlerden gelen webhook'lar bu şekilde HMAC-SHA256 ile imzalanır.
Bir webhook'u doğrulama
Herhangi bir ayrıştırma yapmadan önce ham istek gövdesini alın, paylaşılan gizli anahtarla HMAC'i hesaplayın ve zamanlamanın kaç karakterin eşleştiğini açığa çıkarmaması için sabit süreli karşılaştırma kullanarak imza başlığıyla karşılaştırın. Tekrar saldırılarını önlemek için zaman damgası birkaç dakikadan daha eski olan istekleri reddedin.
Anahtarsız hash için hash oluşturucuyu, imzalı belirteçler için JWT kod çözücüyü kullanın.
Anahtarlar
Hash çıktısı kadar uzun bir anahtar (SHA-256 için 32 rastgele bayt) tam güç sağlar; daha uzun anahtarlar önce hash'lenerek kısaltılır. Anahtarları kod depolarının dışında tutun ve sızmaları hâlinde yenileyin.
Nasıl kullanılır?
- Mesajı, webhook'un ham gövdesi gibi tam gönderildiği biçimde yapıştırın.
- Gizli anahtarı metin veya onaltılık biçimde girin ve hash'i seçin.
- Hex veya Base64 sonucunu aldığınız imzayla karşılaştırın.
Gizlilik ve sınırlamalar
Mesaj ve anahtar tarayıcınızda kalır; hiçbir yere gönderilmez.
İlgili araçlar
Sık sorulan sorular
İmzam neden webhook'un imzasıyla eşleşmiyor?
İmzalanan mesaj, bayt bayt ham gövde olmalıdır: JSON'un ayrıştırılıp yeniden serileştirilmesi veya eksik ya da fazladan bir satır sonu mesajı değiştirir. Bazı hizmetler zaman damgasını ve gövdeyi birlikte imzalar; örneğin Stripe, t=…,payload biçimini kullanır.
HMAC-SHA1 hâlâ güvenli mi?
Düz hash işlemlerindeki SHA-1'in aksine HMAC için hâlâ güvenli kabul edilir; ancak yeni sistemlerde HMAC-SHA256 kullanılmalıdır.
Hex mi, Base64 mü?
Aynı baytları yazmanın iki farklı yoludur; hizmetin gösterdiği biçimi kullanın. GitHub, sha256= ön ekiyle hex kullanır; diğer birçok hizmet Base64 kullanır.
Ücretsiz araç · tarayıcınızda kez çalıştırma · hesap gerekmez