ເຄື່ອງມືສ້າງ HMAC (ຄຳນວນ HMAC-SHA256 ໃນບຣາວເຊີ)
ເຄື່ອງມືຄຳນວນ HMAC ເພື່ອສ້າງ HMAC SHA256 ຢູ່ບ່ອນນີ້ທັນທີ. ລະຫັດ ແລະ ຂໍ້ມູນທີ່ປ້ອນເຂົ້າຈະບໍ່ຖືກສົ່ງ ຫຼື ເກັບໄວ້.
ຮອງຮັບຂໍ້ມູນເຂົ້າແບບ Text/Hex/Base64 ແລະ ຂໍ້ມູນອອກແບບ Hex/Base64. ຄຳນວນຢ່າງປອດໄພໂດຍໃຊ້ Crypto API ມາດຕະຖານຂອງບຣາວເຊີ.
ຂໍ້ມູນເຂົ້າ ແລະ ຂໍ້ມູນອອກ
ໜ້ານີ້ເຮັດການຄຳນວນພາຍໃນບຣາວເຊີທັງໝົດ ແລະ ບໍ່ມີການສົ່ງຂໍ້ມູນ.
* 'byte sequence' ຕາມຂໍ້ກຳນົດຂອງ API ແມ່ນສິ່ງສຳຄັນ. ຫາກລະຫັດເປັນແບບໄບນາຣີ, ກະລຸນາປ້ອນເປັນ Hex/Base64.
ຕົວເລືອກ
ຜົນໄດ້ຮັບຈະປ່ຽນແປງຫາກລະຫັດການຂຶ້ນແຖວໃໝ່ແຕກຕ່າງກັນເນື່ອງຈາກ OS ຫຼື ການຄັດລອກ-ວາງ.
ເນື່ອງຈາກລາຍເຊັນ API ຕ້ອງການ 'ການຈັບຄູ່ທີ່ແນ່ນອນ', ການເກັບໄວ້ຄືເກົ່າແມ່ນແນະນຳໂດຍທົ່ວໄປ.
ວິທີໃຊ້
3 ຂັ້ນຕອນພື້ນຖານໃນການສ້າງລາຍເຊັນ HMAC.
- 1 ປ້ອນລະຫັດ (ເລືອກ Hex / Base64 ຫາກຂໍ້ກຳນົດ API ເປັນໄບນາຣີ)
- 2 ປ້ອນຂໍ້ຄວາມ (String to sign / payload)
- 3 ເລືອກຮູບແບບຂໍ້ມູນອອກ (Hex / Base64) ແລະ ຄັດລອກ
HMAC ຖືກຄຳນວນຈາກ 'byte sequences', ບໍ່ແມ່ນ 'character strings'. ເຖິງວ່າພວກມັນຈະເບິ່ງຄືກັນ, ຜົນໄດ້ຮັບຈະແຕກຕ່າງກັນຫາກການເຂົ້າລະຫັດຕົວອັກສອນ, ການຂຶ້ນແຖວໃໝ່ ຫຼື ຊ່ອງວ່າງສ່ວນເກີນແຕກຕ່າງກັນ (ສົມມຸດວ່າເປັນ UTF-8).
ຕົວຢ່າງ (Test Vectors ສຳລັບການກວດສອບ)
ຄລິກ 'ໂຫຼດຕົວຢ່າງ' ເພື່ອຕື່ມຂໍ້ມູນໃສ່ຊ່ອງປ້ອນຂໍ້ມູນ.
ຂໍ້ຜິດພາດທີ່ພົບເລື້ອຍ
ຜົນໄດ້ຮັບຈະປ່ຽນແປງຫາກການຈັດການການຂຶ້ນແຖວໃໝ່ແຕກຕ່າງກັນ.
ເນື່ອງຈາກລາຍເຊັນຕ້ອງການການຈັບຄູ່ທີ່ແນ່ນອນ, ການລຶບຊ່ອງວ່າງອາດເຮັດໃຫ້ເກີດຄວາມຜິດພາດ.
ໂດຍທົ່ວໄປ Base64URL ຈະໃຊ້ +→-, /→_, ແລະ ລະເວັ້ນ =. ກະລຸນາກວດສອບຂໍ້ກຳນົດ.
ຕົວຢ່າງ: ການປ້ອນ 'deadbeef' ເປັນ 'string' ທຽບກັບການປ້ອນເປັນ 'byte sequence 0xDE 0xAD...'.
ຂໍ້ມູນເພີ່ມເຕີມ
ແມ່ນກົນໄກໃນການສ້າງລາຍເຊັນຈາກລະຫັດລັບ ແລະ ຂໍ້ຄວາມ. ບຸກຄົນທີສາມບໍ່ສາມາດສ້າງຜົນໄດ້ຮັບດຽວກັນໄດ້ຫາກບໍ່ມີລະຫັດດຽວກັນ.
SHA-256 ແມ່ນ 'hash', HMAC ແມ່ນ 'keyed hash (signature)'.
ໃຊ້ສຳລັບລາຍເຊັນ API, ການກວດສອບ Webhook, ການກວດຫາການປ່ຽນແປງຂໍ້ມູນຂອງຄຳຮ້ອງຂໍ, ແລະ ອື່ນໆ.
FAQ
ລະຫັດຖືກເກັບໄວ້ ຫຼື ບໍ່?
ບໍ່ໄດ້ເກັບໄວ້. ເຄື່ອງມືນີ້ຄຳນວນພາຍໃນບຣາວເຊີ ແລະ ບໍ່ມີການສົ່ງລະຫັດ ຫຼື ຂໍ້ຄວາມໄປຍັງເຊີບເວີ. (※ເພື່ອຄວາມປອດໄພ, ກະລຸນາຣີເຊັດຫຼັງຈາກໃຊ້ງານໃນຄອມພິວເຕີສາທາລະນະ)
Base64 ຫຼື Hex?
ໃຊ້ໄດ້ທັງສອງຢ່າງ. ທ່ານສາມາດເລືອກຮູບແບບຂໍ້ມູນອອກໄດ້ (Hex / Base64 / Base64URL). ກະລຸນາເລືອກຕາມຂໍ້ກຳນົດຂອງ API.
ການເຂົ້າລະຫັດຕົວອັກສອນ?
ສົມມຸດວ່າເປັນ UTF-8. ຂໍ້ມູນເຂົ້າແບບຂໍ້ຄວາມຈະຖືກປ່ຽນເປັນໄບ໌ແບບ UTF-8 ເພື່ອຄຳນວນ. ໃຊ້ຂໍ້ມູນເຂົ້າແບບ Hex / Base64 ສຳລັບການຈັດການໄບນາຣີ.
ຄວາມແຕກຕ່າງລະຫວ່າງ HMAC ແລະ SHA-256 hash?
SHA-256 ແມ່ນ 'hash', HMAC ແມ່ນ 'keyed hash (signature)'. ຜົນໄດ້ຮັບດຽວກັນຈະບໍ່ເກີດຂຶ້ນນອກຈາກວ່າລະຫັດຈະກົງກັນ.
ຂໍ້ມູນອອກບໍ່ກົງກັນ
ສາເຫດທີ່ພົບເລື້ອຍແມ່ນ (1) ການຈັດການລະຫັດ (Text vs Binary), (2) ການຂຶ້ນແຖວໃໝ່, (3) ຊ່ອງວ່າງ, (4) Base64URL. ກະລຸນາກວດສອບຂໍ້ຜິດພາດຂ້າງເທິງຕາມລຳດັບ.