Tạo JWT từ payload và secret. Quy ước header cố định: {"alg":"HS256","typ":"JWT"}.
Các bước:
h = base64url(JSON header)p = base64url(payload JSON nguyên văn dòng input)signature = base64url( HMAC-SHA256(key=secret, data=h+'.'+p) ) (digest dạng nhị phân, không phải hex)h.p.signatureCho payload JSON ở dòng 1, secret ở dòng 2.
Input:
{"sub":"1"}
secret
Output: <token 3 phần>
Dòng 1: payload JSON (dùng nguyên văn). Dòng 2: secret.
Header cố định như trên. Dùng require('crypto').
JWT header.payload.signature (base64url).
Ví dụ:
Đầu vào:
{"sub":"1"}
secretĐầu ra:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.8qZF8vbN3UpcanXFc-mPXJkOPN01-bRch8XX3rToP1U
Giải thích:
Đang tải editor...