Generator HMAC-SHA512
Buat tag HMAC-SHA512 dari pesan dan kunci rahasia. Alat ini mengodekan keduanya sebagai UTF-8, menerapkan konstruksi HMAC RFC 2104 dengan SHA-512, lalu mengembalikan hasil 512 bit dalam format hex atau Base64. Gunakan untuk menguji skema penandatanganan API, seperti beberapa API bursa kripto dan token HS512, serta memeriksa implementasi Anda sendiri dengan referensi tepercaya. Kunci tidak pernah muncul dalam respons.
Pertanyaan yang sering diajukan
Apa itu HMAC-SHA512?
HMAC-SHA512 menggabungkan hash SHA-512 dengan kunci rahasia menggunakan konstruksi HMAC dari RFC 2104. Ini membuktikan bahwa pesan berasal dari seseorang yang mengetahui kunci dan belum diubah. Tag berukuran 64 byte, atau 128 karakter hex.
Apa vektor uji HMAC-SHA512 yang diketahui?
Kasus uji 2 RFC 4231 menggunakan kunci Jefe dan pesan what do ya want for nothing?. Tag yang diharapkan adalah 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737, dan nilai tersebut direproduksi oleh alat ini.
Kapan sebaiknya saya menggunakan HMAC-SHA512 alih-alih HMAC-SHA256?
Gunakan jika format API atau token mengharuskannya, misalnya algoritma HS512 dalam Web Token JSON. HMAC-SHA256 sudah kuat, dan SHA-512 terutama menghasilkan tag yang lebih panjang serta sering kali lebih cepat pada mesin 64-bit.
Bagaimana masukan dikodekan?
Pesan dan kunci sama-sama diperlakukan sebagai teks UTF-8. Jika penyedia Anda memberikan rahasia Base64 atau hex yang harus didekode terlebih dahulu, hasil di sini akan berbeda dari hasil mereka.
Seberapa panjang sebaiknya kunci saya?
Kunci acak sepanjang 64 byte sesuai dengan ukuran output SHA-512 dan merupakan pilihan yang baik. Kunci yang lebih panjang dari 128 byte akan di-hash terlebih dahulu, sedangkan kunci yang sangat pendek melemahkan keamanan.
Apakah kunci rahasia tetap privat?
Ya. Kunci hanya digunakan di memori untuk permintaan ini dan tidak disertakan dalam respons. Kunci tidak pernah dicatat atau disimpan.
Bisakah saya membuat tanda tangan JWT dengan alat ini?
Sebagian. HS512 menandatangani header Base64URL, titik, lalu payload Base64URL. Tempelkan string tersebut sebagai pesan, pilih output Base64, lalu ganti + dengan -, / dengan _ dan hapus padding = untuk mendapatkan bagian tanda tangan JWT.
Mengapa hasil saya tidak cocok?
Penyebab paling umum adalah spasi tambahan atau jeda baris dalam pesan, kunci yang seharusnya didekode dari hex atau Base64, atau membandingkan hex dengan Base64. Periksa setiap byte input satu per satu.
Bisakah saya memotong tag HMAC-SHA512?
Beberapa protokol hanya menggunakan bagian pertama tag, misalnya varian HMAC-SHA512/256 dalam standar tertentu. Alat ini selalu mengembalikan 64 byte penuh, jadi potong sendiri jika protokol Anda mengharuskannya.
Berapa batas inputnya?
Pesan dan kunci jika digabungkan dapat berukuran hingga 5 MiB teks per permintaan. Jumlah ini cukup untuk isi permintaan API, string token, dan payload webhook berukuran besar.