IT-Tools 加密解密实战指南:HMAC 生成、JWT 解析与 RSA 密钥对生成的完整操作手册
【免费下载链接】it-toolsCollection of handy online tools for developers, with great UX.项目地址: https://gitcode.com/GitHub_Trending/ittoo/it-tools
接口吐出一串以eyJ开头的长令牌,你打算怎么看清里面的内容?要给报文做防篡改校验,HMAC 又该选哪个算法?IT-Tools 这款开发者在线工具集里,HMAC 生成、JWT 解析、RSA 密钥对生成和通用加密解密四项能力已经备好,浏览器打开即用。
先扫一眼地图:四个工具各解决什么问题
| 工具 | 解决的问题 | 源码位置 |
|---|---|---|
| HMAC 生成器 | 给消息算带密钥的摘要,验证内容与请求是否被改动 | src/tools/hmac-generator/ |
| JWT 解析器 | 粘贴令牌即可读出 Header 与 Payload 里的每一项声明 | src/tools/jwt-parser/ |
| RSA 密钥对生成器 | 按指定位数产出 PEM 格式的公钥与私钥 | src/tools/rsa-key-pair-generator/ |
| 通用加密解密 | 用 AES 等对称算法把文本加密,再解密还原 | src/tools/encryption/ |
场景 A:从明文到 HMAC 结果的 5 个步骤
为什么不做普通哈希,偏要做 HMAC?因为 HMAC 把内容和密钥一起参与计算,接收方用同一把密钥重算一次就能对得上——任何一位被改动都藏不住。操作顺序如下:
- 在
Plain text to compute the hash输入框填入要参与计算的明文。 - 在
Secret key填入双方约定好的密钥,密钥错了结果必然对不上。 - 在
Hashing function下拉选择哈希函数,可选 MD5、SHA1、SHA224、SHA256、SHA384、SHA512、SHA3、RIPEMD160,默认 SHA256。 - 在
Output encoding选择输出格式:二进制(base 2)、十六进制(base 16)、Base64,以及带 URL 安全字符的 Base64url,默认是十六进制。 - 结果区实时生成 HMAC 值,点
Copy HMAC按钮一键复制走。
小建议:摘要要放进 URL 参数就选 Base64url,避免+、/再转义一轮;贴到日志或工单里对查,十六进制最直观。
场景 B:JWT 三段结构拆解与三个查看要点
JWT 是用点号分隔的三段字符串:Header 写算法与类型,Payload 存用户数据与标准声明,Signature 负责防篡改。把完整令牌粘进JWT to decode输入框,格式不对会直接提示Invalid JWT;合法时,工具把前两段展开成表格,每行给出声明名、含义(对照 IANA 注册声明表)和实际取值。
看完结构,重点盯三处:
- Header 里的
alg:工具会把算法名翻译成人话,比如 HS256 会标注为 "HMAC using SHA-256";若看到none,说明是无签名令牌,直接警惕。 - Payload 里的
iat/nbf/exp:这三个时间戳声明会被自动转成可读日期,令牌是否过期、何时生效一眼可断。 sub/aud/iss:确认主体、受众和签发方是否和你预期的服务对得上。
需要说明的是,这个解析器做的是解码查看,Signature 是否有效仍要用密钥在服务端验签。
场景 C:RSA 密钥对的位数设置与生成
位数怎么定?Bits字段默认 2048,允许范围 256 到 16384,步长 8,且必须是 8 的倍数——填了不合规则的数会看到校验提示 "Bits should be 256 <= bits <= 16384 and be a multiple of 8"。设置好后点Refresh key-pair按钮生成新密钥对,页面下方Public key与Private key两个区域分别展示 PEM 格式的公钥和私钥,可直接复制。
配套的安全做法:
- 2048 位是目前通用基线,长期对外服务或高敏感场景可上调到 4096。
- 私钥不进聊天记录、工单和代码仓库,只走加密通道交接。
- 怀疑泄露或人员变动时,重新生成一对,旧密钥立即停用。
- 公钥可放心分发给对方,保密要求只针对私钥。
扩展:通用加密解密算法怎么选
通用加密解密工具把页面分成Encrypt与Decrypt两张卡片。加密侧输入Your text:、Your secret key:,再选Encryption algorithm:,密文实时生成;解密侧操作相同,密钥或算法不匹配时会看到Unable to decrypt your text的报错,这通常就是"算法选错"或"两端密钥不一致"的信号。
四种算法的定位:
| 算法 | 类型 | 使用建议 |
|---|---|---|
| AES | 分组密码,默认选项 | 新场景首选 |
| TripleDES | 分组密码,旧标准 | 只用于兼容老系统 |
| Rabbit | 流密码 | 兼容既有协议 |
| RC4 | 流密码 | 存在已知弱点,新项目不建议 |
典型用途是本地可逆加密、与遗留系统做兼容验证、准备演示数据。记住它是对称加密:加密和解密两端必须持有同一把密钥,算法名只是外壳,密钥一致才解得开。
🔐 带走清单
- 防篡改校验用 HMAC,算法保持默认 SHA256 即可,进 URL 的参数换 Base64url 编码。
- 调试令牌先把完整 JWT 丢进解析器,按
alg、exp、sub/aud的顺序看,别手动拆段硬读。 - 密钥对从 2048 位起步,位数必须对齐 8 的倍数;私钥只走加密通道传输。
- 文本加解密默认 AES,遇到 RC4、TripleDES 的旧数据只为兼容迁移,不向新逻辑扩散。
- 以上工具都在浏览器本地计算,明文与密钥不会发到服务器,但用完及时清空输入框,别让敏感内容在页面里过夜。
四个工具对应防篡改、令牌调试、密钥管理三件高频小事。最后一句提醒:算法只是外壳,密钥才是命门——看到密钥的人能还原上面的一切,密钥管理的优先级要永远高于算法选择。
【免费下载链接】it-toolsCollection of handy online tools for developers, with great UX.项目地址: https://gitcode.com/GitHub_Trending/ittoo/it-tools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考