Trinh tao HMAC (HMAC-SHA256 trong trinh duyet)

Trang tao HMAC SHA256 khong can mang de tinh HMAC nhanh va kiem tra chu ky.

Moi thu deu chay cuc bo trong trinh duyet. Khoa va thong diep khong bi truyen di hay luu lai.

Tinh toan cuc bo Khong luu tru Hex va Base64
Khong truyen du lieu qua mang

Cach dung (tao chu ky HMAC)

  1. Nhap khoa. Neu dac ta API cung cap khoa nhi phan, hay chon dinh dang dau vao Hex hoac Base64.
  2. Nhap thong diep can ky.
  3. Chon dinh dang dau ra (Hex / Base64 / Base64URL) va sao chep ket qua.
HMAC lam viec tren chuoi byte, khong phai van ban hien thi. Ma hoa UTF-8, khac biet xuong dong va khoang trang thua deu lam thay doi ket qua.

Vi du (vector kiem thu)

Vi du 1 (kiem tra ngan)

Dau vao: Khoa = secret (UTF-8), Thong diep = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

Vi du 2 (cum tu pho bien)

Dau vao: Khoa = key, Thong diep = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Loi thuong gap

  • Khac biet xuong dong LF va CRLF se cho chu ky khac nhau.
  • Cat bo khoang trang dau/cuoi co the lam sai ket qua doi chieu chu ky API.
  • Base64URL thuong co nghia la + thanh -, / thanh _, va bo dau = dem. Hay doi chieu voi dac ta API.
  • Neu khoa duoc phan phoi duoi dang byte Hex/Base64, viec xu ly no nhu van ban thuong se gay sai lech.

Cau hoi thuong gap

Khoa cua toi co bi luu khong?

Khong. Cong cu nay tinh toan trong trinh duyet va khong gui khoa/thong diep toi bat ky may chu nao.

Nen dung Base64 hay Hex?

Ca hai deu pho bien. Ban co the chon dau ra Hex / Base64 / Base64URL de khop voi dac ta API.

Van ban duoc ma hoa theo bang ma nao (UTF-8)?

Dau vao van ban se duoc ma hoa UTF-8 truoc khi tinh HMAC. Voi du lieu nhi phan, hay dung dau vao Hex/Base64.

HMAC khac gi voi bam SHA-256?

SHA-256 la ham bam thuan. HMAC them secret key de xac thuc thong diep.

Ket qua cua toi khong trung. Toi nen kiem tra gi?

Hay kiem tra cach dien giai khoa (van ban hay byte), xu ly xuong dong, cat khoang trang va quy tac Base64URL.

Bo sung

HMAC la gi?

HMAC la ma xac thuc thong diep dua tren ham bam va khoa bi mat.

Khac biet voi SHA-256

SHA-256 don thuan khong co khoa bi mat. HMAC-SHA256 yeu cau khoa dung chung va duoc dung cho chu ky.

Truong hop su dung pho bien

Ky yeu cau API, xac minh webhook va kiem tra tinh toan ven token.