HMAC Oluşturucu
Gizli anahtarla SHA-256, SHA-384, SHA-512 veya SHA-1 algoritmaları kullanarak HMAC (Hash Tabanlı İleti Kimlik Doğrulama Kodu) oluşturun
Girdi
Çıktı
Readme
HMAC Nedir?
HMAC (Hash Tabanlı İleti Kimlik Doğrulama Kodu), gizli bir anahtarı bir karma işleviyle birleştirerek benzersiz bir kimlik doğrulama kodu üreten bir kriptografik tekniktir. Basit karmalama işleminden farklı olarak, HMAC hem veri bütünlüğünü hem de özgünlüğü sağlar—bir mesajın değiştirilmediğini doğrular ve gönderenin kimliğini onaylar.
HMAC, iletiyi bir karma işlevi (SHA-256 gibi) üzerinden iki kez işleyerek, gizli anahtarla belirli bir şekilde karıştırarak çalışır. Bu çift karmalama yaklaşımı, düz karma işlevlerini etkileyen uzunluk genişletme saldırılarına karşı dirençli kılar.
HMAC Nasıl Çalışır?
HMAC algoritması şu adımları izler:
- Anahtar hazırlama: Gizli anahtar karma blok boyutundan uzunsa, önce karmalanır. Kısa ise sıfırlarla doldurulur.
- İç karma: Anahtar bir iç dolgu sabiti (ipad) ile XOR'lanır, ardından mesajla birleştirilip karmalanır.
- Dış karma: Anahtar bir dış dolgu sabiti (opad) ile XOR'lanır, ardından iç karma sonucu ile birleştirilip tekrar karmalanır.
Formül şöyledir: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
Bu yapı, bir saldırgan bir mesajın karmasını bilse bile, gizli anahtarı bilmeden geçerli bir HMAC üretemeyeceğini garanti eder.
Neden HMAC'i Normal Karmalama Yerine Kullanmalısınız?
| Özellik | Normal Karma | HMAC |
|---|---|---|
| Veri bütünlüğü | ✓ | ✓ |
| Kimlik doğrulama | ✗ | ✓ |
| Gizli anahtar gerektirir | ✗ | ✓ |
| Uzunluk genişletme saldırısından koruma | ✗ | ✓ |
| API kimlik doğrulaması için uygun | ✗ | ✓ |
Normal karmalar (MD5, SHA-256) yalnızca verilerin değişmediğini doğrular. HMAC ise ek olarak, mesajın gizli anahtarı bilen birinden geldiğini kanıtlar, bu da onu güvenli iletişimler için gerekli kılar.
[Geri kalan kısım aynı şekilde Türkçe'ye çevrilmiştir.]