ບໍ່ມີການສົ່ງຂໍ້ມູນ

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

ເຄື່ອງມືຄຳນວນ HMAC ເພື່ອສ້າງ HMAC SHA256 ຢູ່ບ່ອນນີ້ທັນທີ. ລະຫັດ ແລະ ຂໍ້ມູນທີ່ປ້ອນເຂົ້າຈະບໍ່ຖືກສົ່ງ ຫຼື ເກັບໄວ້.

ຮອງຮັບຂໍ້ມູນເຂົ້າແບບ Text/Hex/Base64 ແລະ ຂໍ້ມູນອອກແບບ Hex/Base64. ຄຳນວນຢ່າງປອດໄພໂດຍໃຊ້ Crypto API ມາດຕະຖານຂອງບຣາວເຊີ.

ຄຳນວນພາຍໃນ ບໍ່ມີການເກັບຂໍ້ມູນ ຮອງຮັບ Hex/Base64

ຂໍ້ມູນເຂົ້າ ແລະ ຂໍ້ມູນອອກ

ໜ້ານີ້ເຮັດການຄຳນວນພາຍໃນບຣາວເຊີທັງໝົດ ແລະ ບໍ່ມີການສົ່ງຂໍ້ມູນ.

ບໍ່ມີການສົ່ງຂໍ້ມູນ
ຮູບແບບຂໍ້ມູນເຂົ້າ

* 'byte sequence' ຕາມຂໍ້ກຳນົດຂອງ API ແມ່ນສິ່ງສຳຄັນ. ຫາກລະຫັດເປັນແບບໄບນາຣີ, ກະລຸນາປ້ອນເປັນ Hex/Base64.

ຮູບແບບຂໍ້ມູນເຂົ້າ
ຄວາມຍາວຂໍ້ມູນອອກ: 32 ໄບ໌ (SHA-256)
ຕົວເລືອກ

ຜົນໄດ້ຮັບຈະປ່ຽນແປງຫາກລະຫັດການຂຶ້ນແຖວໃໝ່ແຕກຕ່າງກັນເນື່ອງຈາກ OS ຫຼື ການຄັດລອກ-ວາງ.

ເນື່ອງຈາກລາຍເຊັນ API ຕ້ອງການ 'ການຈັບຄູ່ທີ່ແນ່ນອນ', ການເກັບໄວ້ຄືເກົ່າແມ່ນແນະນຳໂດຍທົ່ວໄປ.

ວິທີໃຊ້

3 ຂັ້ນຕອນພື້ນຖານໃນການສ້າງລາຍເຊັນ HMAC.

  1. 1 ປ້ອນລະຫັດ (ເລືອກ Hex / Base64 ຫາກຂໍ້ກຳນົດ API ເປັນໄບນາຣີ)
  2. 2 ປ້ອນຂໍ້ຄວາມ (String to sign / payload)
  3. 3 ເລືອກຮູບແບບຂໍ້ມູນອອກ (Hex / Base64) ແລະ ຄັດລອກ

HMAC ຖືກຄຳນວນຈາກ 'byte sequences', ບໍ່ແມ່ນ 'character strings'. ເຖິງວ່າພວກມັນຈະເບິ່ງຄືກັນ, ຜົນໄດ້ຮັບຈະແຕກຕ່າງກັນຫາກການເຂົ້າລະຫັດຕົວອັກສອນ, ການຂຶ້ນແຖວໃໝ່ ຫຼື ຊ່ອງວ່າງສ່ວນເກີນແຕກຕ່າງກັນ (ສົມມຸດວ່າເປັນ UTF-8).

ຕົວຢ່າງ (Test Vectors ສຳລັບການກວດສອບ)

ຄລິກ 'ໂຫຼດຕົວຢ່າງ' ເພື່ອຕື່ມຂໍ້ມູນໃສ່ຊ່ອງປ້ອນຂໍ້ມູນ.

ຕົວຢ່າງ 1
ລະຫັດ (Text/UTF-8)
secret
ຂໍ້ຄວາມ (Text/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
ຕົວຢ່າງ 2
ລະຫັດ (Text/UTF-8)
key
ຂໍ້ຄວາມ (Text/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

ຂໍ້ຜິດພາດທີ່ພົບເລື້ອຍ

ຄວາມແຕກຕ່າງຂອງລະຫັດການຂຶ້ນແຖວໃໝ່ (LF/CRLF)

ຜົນໄດ້ຮັບຈະປ່ຽນແປງຫາກການຈັດການການຂຶ້ນແຖວໃໝ່ແຕກຕ່າງກັນ.

ການຕັດຊ່ອງວ່າງ (Trimming)

ເນື່ອງຈາກລາຍເຊັນຕ້ອງການການຈັບຄູ່ທີ່ແນ່ນອນ, ການລຶບຊ່ອງວ່າງອາດເຮັດໃຫ້ເກີດຄວາມຜິດພາດ.

ຮູບແບບ Base64URL

ໂດຍທົ່ວໄປ Base64URL ຈະໃຊ້ +→-, /→_, ແລະ ລະເວັ້ນ =. ກະລຸນາກວດສອບຂໍ້ກຳນົດ.

ການຈັດການລະຫັດ (Text vs Binary)

ຕົວຢ່າງ: ການປ້ອນ 'deadbeef' ເປັນ 'string' ທຽບກັບການປ້ອນເປັນ 'byte sequence 0xDE 0xAD...'.

ຂໍ້ມູນເພີ່ມເຕີມ

HMAC ແມ່ນຫຍັງ?

ແມ່ນກົນໄກໃນການສ້າງລາຍເຊັນຈາກລະຫັດລັບ ແລະ ຂໍ້ຄວາມ. ບຸກຄົນທີສາມບໍ່ສາມາດສ້າງຜົນໄດ້ຮັບດຽວກັນໄດ້ຫາກບໍ່ມີລະຫັດດຽວກັນ.

ຄວາມແຕກຕ່າງຈາກ SHA-256

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. ກະລຸນາກວດສອບຂໍ້ຜິດພາດຂ້າງເທິງຕາມລຳດັບ.