ເຄື່ອງສຣ້າງ HMAC (HMAC-SHA256 ໃນເບຣາວ໌ເຊອຣ໌)

ໜ້າສຣ້າງ HMAC SHA256 ແບບໄມ່ໃຊ້ເຄຣືອຂ່າຍສຳລັບຄຳນວນ HMAC ແລະກວດສອບລາຍເຊັນໄດ້ຢ່າງຣວດເຣັວ

ທຸກຢ່າງເຮັດວຽກໃນເບຣາວ໌ເຊອຣ໌ຂອງຄຸນແບບພາຍໃນເຄື່ອງ ຄີຍ໌ແລະຂ້ອຄວາມຈະໄມ່ຖູກສ່ງຫຼືບັນທຶກ

ຄຳນວນໃນເຄື່ອງ ໄມ່ຈັດເກັບຂ້ອມູລ Hex ແລະ Base64
ໄມ່ມີການສ່ງຂ້ອມູລຜ່ານເຄຣືອຂ່າຍ

ວິທີໃຊ້ວຽກ (ການສຣ້າງລາຍເຊັນ HMAC)

  1. ປ້ອນຄີຍ໌ ຫາກສເປກ API ຂອງຄຸນໃຫ້ຄີຍ໌ແບບໄບຕ໌ໄບນານີ ໃຫ້ເລືອກຟອຣ໌ແມຕອິນພຸຕເປັນ Hex ຫຼື Base64
  2. ປ້ອນ payload ຂອງຂ້ອຄວາມທີ່ຕ້ອງການລງລາຍເຊັນ
  3. ເລືອກຟອຣ໌ແມຕເອາຕ໌ພຸຕ (Hex / Base64 / Base64URL) ແລ້ວຄັດລອກຜລລັພທ໌
HMAC ເຮັດວຽກກັບໄບຕ໌ ໄມ່ໃຊ່ຂ້ອຄວາມທີ່ມອງເຫັນ ຄວາມຕ່າງຂອງການເຂ້າຣຫັສ UTF-8, newline ແລະຊ່ອງຫວ່າງສ່ວນເກິນຈະທຳໃຫ້ຜລລັພທ໌ປ່ຽນໄປ

ຕົວຢ່າງ (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 ແລະການກວດສອບຄວາມສມບູຣນ໌ຂອງໂທເຄັນ