HMAC Oluşturucu (SHA-256, SHA-512)
Gizli bir anahtar kullanarak mesaj doğrulaması için HMAC hash'leri oluşturun.
Güvenliğiniz Önemlidir: İstemci Taraflı İşleme
- Tüm işlemler tarayıcınızda gerçekleşir.
- Verileriniz, resimleriniz, dosyalarınız, anahtarlarınız veya parolalarınız asla saklanmaz veya sunucularımıza gönderilmez.
- Oluşturduğunuz içeriği izlemiyoruz veya takip etmiyoruz.
HMAC (Hash Tabanlı Mesaj Doğrulama Kodu) Nedir?
HMAC, bir **mesaj doğrulama kodudur** (MAC). Amacı, bir mesajın hem **veri bütünlüğünü** hem de **özgünlüğünü** doğrulamaktır.
Problem (Hash vs. HMAC):
Standart bir hash fonksiyonu (SHA-256 gibi) yalnızca *bütünlüğü* garanti eder. Bir mesaj ve onun SHA-256 hash'ini alırsanız, mesajın *yolda* değiştirilmediğini doğrulayabilirsiniz. Ancak, bir saldırgan mesajı ele geçirebilir, değiştirebilir, değiştirilen mesaj için *yeni* bir SHA-256 hash'i oluşturabilir ve her ikisini size gönderebilir. Sahte olduğunu bilmenizin bir yolu olmazdı.
Çözüm (HMAC):
HMAC, yalnızca gönderici ve alıcının bildiği bir **gizli anahtar** ekleyerek bu sorunu çözer. Hash fonksiyonunu bu gizli anahtarla birleştirir.
Artık bir saldırgan imzayı taklit edemez. Mesajı değiştirirlerse, geçerli bir HMAC hash'i oluşturmak için gizli anahtara ihtiyaçları olacaktır. Anahtar olmadan, oluşturacakları herhangi bir hash yanlış olacak ve alıcı, mesajın kurcalandığını hemen anlayacaktır.
Bu Oluşturucunun Temel Kullanım Alanları:
- API Güvenliği: Çoğu modern API (AWS, Stripe vb.), istekleri imzalamak için HMAC kullanır. Sunucu ve istemci "gizli bir anahtarı" paylaşır ve her istek imzalanır. Bu, isteğin yetkili bir kullanıcıdan geldiğini ve değiştirilmediğini kanıtlar.
- JWT (JSON Web Token):** `HS256` (HMAC-SHA256) algoritması, bir JWT için imza oluşturmanın en yaygın yoludur. Bu imza, token'ın yükünün (payload) kurcalanmadığını doğrular.
- Güvenli Webhook'lar:** GitHub veya Slack gibi hizmetler, sunucunuzun gelen verinin *gerçekten* onlardan geldiğini doğrulamasını sağlamak için webhook yüklerini imzalamak amacıyla HMAC kullanır.
HMAC-SHA256 Örnekleri
HMAC örnekleri yükleniyor...
HMAC İpuçları ve Temel Kavramlar
HMAC Kimlik Doğrulamadır, Şifreleme Değil
Bu en kritik kavramdır. HMAC **gizlilik sağlamaz**. Mesaj düz metin olarak kalır. Yalnızca mesajın orijinal olduğunu ve değiştirilmediğini *kanıtlar*. Verileri gizlemeniz gerekiyorsa, önce **onu şifrelemeli** (örn. AES ile) ve *sonra* *şifrelenmiş* veriyi HMAC ile imzalamalısınız (Encrypt-then-MAC).
Her Şey Gizli Anahtara Bağlı
HMAC'in güvenliği yalnızca hash fonksiyonunun (SHA-256 gibi) güvenliğine bağlı değildir. **Tamamen anahtarın gizliliğine** bağlıdır. Anahtarınız uzun, rastgele ve kriptografik olarak güvenli bir dize olmalıdır. Zayıf, tahmin edilebilir bir anahtar ("parola123") HMAC'i işe yaramaz hale getirir.
HMAC-SHA256 Standarttır
HMAC herhangi bir hash fonksiyonu ile kullanılabilse de, **HMAC-SHA256**, JWT'ler ve çoğu API dahil olmak üzere neredeyse tüm uygulamalar için modern standarttır. HMAC-SHA1 zayıf kabul edilir (SHA-1 zayıf olduğu için) ve HMAC-MD5 kırıktır (MD5 kırık olduğu için). HMAC-SHA256 veya HMAC-SHA512 kullanın.