JWT mổ xẻ: header.payload.signature — vì sao nó được KÝ chứ không MÃ HOÁ
Rất nhiều người tưởng JWT giấu kín dữ liệu vì thấy chuỗi dài loằng ngoằng. Thực ra payload chỉ là Base64URL — ai chặn được cũng giải ra đọc. Bài này tự dựng JWT bằng python hmac, đo output thật: giải ngược header/payload, xác minh chữ ký HMAC-SHA256, đổi role thành admin bị bắt vì chữ ký sai, và tấn công alg=none bị từ chối.