← 中文资源

简体中文版本

JWT HS256 签名与校验命令行工具

一个 Node 命令行工具,用 HS256 把 JSON 负载签名为 JWT 并校验令牌,仅依赖内置 crypto 模块并使用常量时间比较。

阅读英文原文

功能说明

对头部与负载做 base64url 编码,用 HMAC-SHA256 对签名输入签名并追加签名。校验时重算签名并以常量时间比较,使耗时不会泄露签名匹配了多少。

运行方式

node jwt.mjs sign secret '{"sub":"1234"}'

预期输出

令牌由点号分隔的三段 base64url 组成。用相同密钥与负载校验该令牌返回:

true

限制

仅实现 HS256,不校验 exp、iss、aud 等声明,调用方须自行检查过期后再信任负载。示例含完整签名与常量时间校验及测试,可本地复现核对。

本译文依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读;示例代码与命令与英文版本严格一致,可在本地按运行方式复现并逐项核对结果。当前实现覆盖最常见的使用路径,超出上文限制边界的场景需要额外设计与实现;若用于生产,请先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。