ເຄື່ອງສຣ້າງ HMAC (HMAC-SHA256 ໃນເບຣາວ໌ເຊອຣ໌)
ໜ້າສຣ້າງ HMAC SHA256 ແບບໄມ່ໃຊ້ເຄຣືອຂ່າຍສຳລັບຄຳນວນ HMAC ແລະກວດສອບລາຍເຊັນໄດ້ຢ່າງຣວດເຣັວ
ທຸກຢ່າງເຮັດວຽກໃນເບຣາວ໌ເຊອຣ໌ຂອງຄຸນແບບພາຍໃນເຄື່ອງ ຄີຍ໌ແລະຂ້ອຄວາມຈະໄມ່ຖູກສ່ງຫຼືບັນທຶກ
ວິທີໃຊ້ວຽກ (ການສຣ້າງລາຍເຊັນ HMAC)
- ປ້ອນຄີຍ໌ ຫາກສເປກ API ຂອງຄຸນໃຫ້ຄີຍ໌ແບບໄບຕ໌ໄບນານີ ໃຫ້ເລືອກຟອຣ໌ແມຕອິນພຸຕເປັນ Hex ຫຼື Base64
- ປ້ອນ payload ຂອງຂ້ອຄວາມທີ່ຕ້ອງການລງລາຍເຊັນ
- ເລືອກຟອຣ໌ແມຕເອາຕ໌ພຸຕ (Hex / Base64 / Base64URL) ແລ້ວຄັດລອກຜລລັພທ໌
ຕົວຢ່າງ (test vectors)
ຕົວຢ່າງ 1 (ກວດສອບແບບສັ້ນ)
ອິນພຸຕ: ຄີຍ໌ = secret (UTF-8), ຂ້ອຄວາມ = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
ຕົວຢ່າງ 2 (ວລີທີ່ໃຊ້ບ່ອຍ)
ອິນພຸຕ: ຄີຍ໌ = key, ຂ້ອຄວາມ = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
ຈຸດທີ່ພລາດກັນບ່ອຍ
- ຄວາມຕ່າງຂອງ newline ແບບ LF ກັບ CRLF ຈະໃຫ້ລາຍເຊັນໄມ່ເຫມືອນກັນ
- ການຕັດຊ່ອງຫວ່າງຫັວທ້າຍອາຈທຳໃຫ້ລາຍເຊັນ API ໄມ່ຕົງກັນ
- Base64URL ມັກຫມາຍຖຶງການແທນ + ເປັນ -, / ເປັນ _ ແລະຕັດ padding = ອອກ ໂປຣດກວດສອບສເປກ API ຂອງຄຸນ
- ຫາກຄີຍ໌ຖູກແຈກຈ່າຍມາເປັນໄບຕ໌ແບບ Hex/Base64 ແຕ່ໄປຕີຄວາມເປັນຂ້ອຄວາມທຣຣມດາ ຜລລັພທ໌ຈະໄມ່ຕົງກັນ
ຄຳຖາມທີ່ພບບ່ອຍ
ຄີຍ໌ຂອງສັນຖູກບັນທຶກໄວ້ຫຼືໄມ່?
ໄມ່ ເຄື່ອງມືນີ້ຄຳນວນໃນເບຣາວ໌ເຊອຣ໌ຂອງຄຸນ ແລະໄມ່ສ່ງຄີຍ໌ຫຼືຂ້ອຄວາມໄປຍັງເຊິຣ໌ຟເວອຣ໌ໃດ ໆ
ຄວນໃຊ້ Base64 ຫຼື Hex?
ທັ້ງສອງແບບພບໄດ້ທັ່ວໄປ ຄຸນສາມາດເລືອກເອາຕ໌ພຸຕເປັນ Hex / Base64 / Base64URL ໃຫ້ຕົງກັບສເປກ API ຂອງຄຸນ
ໃຊ້ການເຂ້າຣຫັສອັກຂຣະແບບໃດ (UTF-8)?
ອິນພຸຕແບບຂ້ອຄວາມຈະຖູກເຂ້າຣຫັສເປັນ UTF-8 ກ່ອນຄຳນວນ HMAC ສຳລັບຄ່າໄບນານີໃຫ້ໃຊ້ອິນພຸຕແບບ Hex/Base64
HMAC ຕ່າງຈາກແຮຊ SHA-256 ຢ່າງໄຣ?
SHA-256 ເປັນແຮຊທຣຣມດາ ສ່ວນ HMAC ເພິ່ມຄີຍ໌ລັບເພື່ອຍືນຍັນຄວາມຖູກຕ້ອງຂອງຂ້ອຄວາມ
ຜລລັພທ໌ຂອງສັນໄມ່ຕົງກັນ ຄວນກວດສອບອະໄຣບ້າງ?
ກວດສອບການຕີຄວາມຄີຍ໌ (ຂ້ອຄວາມຫຼືໄບຕ໌), ການຈັດການ newline, ການຕັດຊ່ອງຫວ່າງ ແລະກດຂອງ Base64URL
ຂ້ອມູລເສຣິມ
HMAC ຄືອອະໄຣ?
HMAC ຄືອຣຫັສຍືນຍັນຄວາມຖູກຕ້ອງຂອງຂ້ອຄວາມແບບ keyed-hash ທີ່ໃຊ້ຄີຍ໌ລັບຣ່ວມກັບຟັງກ໌ຊັນແຮຊ
ຄວາມຕ່າງຈາກ SHA-256
SHA-256 ເພີຍງຢ່າງດຽວໄມ່ມີຄີຍ໌ລັບ ສ່ວນ HMAC-SHA256 ຕ້ອງໃຊ້ຄີຍ໌ຣ່ວມກັນແລະໃຊ້ສຳລັບລາຍເຊັນ
ກໍລະນີໃຊ້ງານທັ່ວໄປ
ການລງລາຍເຊັນຄຳຂອ API, ການກວດສອບ webhook ແລະການກວດສອບຄວາມສມບູຣນ໌ຂອງໂທເຄັນ