0

Penjana & Pengesah HMAC

Jana dan sahkan kod pengesahan mesej HMAC dengan SHA-256, SHA-384, SHA-512 atau SHA-1 menggunakan kunci rahsia, sepenuhnya dalam penyemak imbas anda.

Buy Me a Coffee at ko-fi.com
Memproses... 0%
Mengimport kunci
Pengkomputeran HMAC
Selesai

Hasilnya

HMAC (Kod Pengesahan Mesej berasaskan Hash) ialah pembinaan kriptografi berkunci yang menggabungkan kunci rahsia dengan mesej melalui fungsi cincang seperti SHA-256. Tidak seperti cincangan biasa, yang sesiapa sahaja boleh mengira semula daripada mesej sahaja, HMAC hanya boleh diterbitkan semula oleh seseorang yang memegang kunci rahsia yang sama — itulah yang menjadikannya kod pengesahan dan bukan sekadar checksum.

Ini adalah perbezaan asas daripada ringkasan biasa: alat Penjana Hash kami sendiri mengira cincang yang tidak dikunci seperti MD5 atau SHA-256, yang bagus untuk mengesan rasuah yang tidak disengajakan tetapi tidak membuktikan siapa yang menghasilkan data, kerana sesiapa sahaja boleh menjana cincang yang sama. HMAC membuktikan kedua-dua integriti (mesej tidak diubah) dan ketulenan (penandatangan mengetahui rahsia yang dikongsi), itulah sebabnya HMAC ialah blok bangunan standard di sebalik tandatangan permintaan API, algoritma HS256/HS384/HS512 JWT dan pengesahan rekod TLS.

Kes penggunaan dunia sebenar yang paling biasa ialah mengesahkan tandatangan webhook. Perkhidmatan seperti Stripe, GitHub dan Shopify menandatangani setiap muatan webhook dengan HMAC-SHA256 menggunakan rahsia yang anda konfigurasikan dan menghantar tandatangan yang terhasil dalam pengepala permintaan. Pelayan anda dijangka akan mengira semula HMAC ke atas muatan mentah dengan rahsia yang sama dan membandingkannya dengan nilai pengepala — jika ia sepadan, anda tahu permintaan itu benar-benar datang daripada perkhidmatan itu dan tidak diusik semasa transit. Mod pengesahan alat ini menghasilkan semula dengan tepat semakan itu: tampal muatan, rahsia kongsi dan tandatangan yang diterima, dan dapatkan padanan segera atau tidak sepadan.

Semuanya berjalan secara setempat melalui API Web Crypto asli penyemak imbas (crypto.subtle.importKey dan crypto.subtle.sign), jadi kunci rahsia, badan mesej dan tandatangan yang terhasil tidak pernah meninggalkan mesin anda — tiada apa-apa yang dimuat naik ke mana-mana pelayan, yang penting kerana rahsia HMAC adalah jenis nilai yang anda tidak boleh tampalkan ke dalam alat dalam talian rawak yang boleh logkannya.