AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法:加密和解密使用同一把密钥。它可以把原始文本转换成不可直接阅读的密文,持有正确密钥的人才能还原内容。AES 以 Rijndael 算法为基础,于 2001 年成为美国联邦信息处理标准,支持 128、192、256 位密钥,分组大小均为 128 位。AES 标准说明
本工具用于文本的 AES-GCM 加密与解密,支持中文、英文、数字和多行内容。计算由浏览器原生 Web Crypto API 在本地完成,不调用服务器加密接口,也不会自动保存输入草稿。它适合学习参数含义、处理文本及核对兼容的加密结果,不提供文件加密、密钥托管或密码找回功能。
GCM 是 AES 的一种工作模式。本工具固定使用 AES-GCM,不提供 ECB、CBC 等模式切换。它在加密文本的同时生成认证标签,用于解密时检查密文及相关参数是否匹配;本工具使用 128 位认证标签。
加密时需要密钥和初始化向量 IV,也可以填写附加消息 AAD。IV 在同一密钥下不能重复使用;AAD 参与校验,但不会被加密。解密时必须提供与加密时一致的参数,否则无法通过校验。AES-GCM 参数说明
| 输入方式 | 适用情况 | 需要提供的内容 |
|---|---|---|
| 自行输入 | 已有符合长度要求的 AES 密钥,或希望使用随机密钥 | 十六进制密钥、IV,以及可选的 AAD |
| 密码派生 | 希望使用自己记得住的密码 | 密码、盐值、迭代次数、密钥位数、IV,以及可选的 AAD |
「自行输入」直接使用十六进制密钥,不会把普通文本密码自动转换成 AES 密钥。「密码派生」则使用 PBKDF2-SHA256,将密码与盐值经过多次计算后派生为指定长度的 AES 密钥。盐值用于区分不同的派生过程,迭代计算用于增加尝试密码的成本,但不能把短密码变成难以猜中的密码。PBKDF2 参数说明
| 参数 | 格式与要求 | 解密时的要求 |
|---|---|---|
| 密钥位数 | 支持 AES-128、AES-192、AES-256 | 与加密时一致 |
| 自行输入密钥 | 只包含 0–9、a–f,字母大小写均可;不带 0x 前缀、空格或分隔符 | 使用相同密钥 |
| 初始化向量 IV | 固定为 96 位,即 12 字节、24 个十六进制字符,可点击「随机」生成 | 填写加密时使用的 IV,不能重新随机生成 |
| 密码派生密钥 | 自行输入文本密码,空格和大小写都会影响结果 | 使用完全相同的密码 |
| 盐值 Salt | 仅密码派生时使用;至少 16 字节,即 32 个十六进制字符 | 使用加密时的盐值 |
| 迭代次数 | 密码派生时可选 600000、800000、1000000、1200000 次 | 与加密时一致 |
| 附加消息 AAD | 可留空;用于校验的文本,不会被加密 | 与加密时一致,留空也必须保持一致 |
| 输入内容 | 加密时填写明文,解密时填写本工具对应格式的 Base64 密文 | 粘贴完整内容,避免遗漏或修改字符 |
自行输入密钥时,各位数对应的长度如下:
| AES 密钥位数 | 密钥字节数 | 十六进制字符数 |
|---|---|---|
| 128 位 | 16 字节 | 32 个字符 |
| 192 位 | 24 字节 | 48 个字符 |
| 256 位 | 32 字节 | 64 个字符 |
IV 和盐值不是密码,可以与密文一起保存;密钥或派生密码则需要保密。盐值与 IV 的用途不同,不能互相替代。自行输入密钥时,盐值和迭代次数不参与计算。
本工具会在输入或配置变化后自动更新结果,无需点击执行按钮。请先把参数填写完整,确认输出内容为成功结果后再复制或下载。
首次使用可以先点击「示例」:
www.ezdev.cn。www.ezdev.cn。「复制」复制当前输出结果。「下载」保存包含算法、操作、输入、输出及参数的 JSON 内容;下载记录中包含明文和密钥或派生密码,不是加密备份文件,请妥善保存,不要把整份记录当作安全密文直接发送给他人。「清空」会移除输入、输出和参数,并恢复默认的 AES-128、自行输入密钥配置;当前加密 / 解密方向保留。
明文先按 UTF-8 编码,AES-GCM 输出的密文与 16 字节认证标签拼接后,再以标准 Base64 字符串展示。Base64 只是为了让二进制结果便于复制,本身不提供保密性。
输出字符串不包含 IV、盐值、迭代次数、密钥位数或 AAD,这些参数需要另外记录。下载内容虽然包含这些字段,但工具没有 JSON 文件导入功能,解密时仍需把相应参数填入表单。
与其他程序互通时,除了密钥一致,还要确认以下约定相同:
某些工具会把 IV、盐值或认证标签放在独立字段中,或者采用自己的封装格式,不能仅凭「都支持 AES」就直接互相解密。
请按十六进制字符数检查,而不是按普通密码长度填写。IV 必须为 24 个十六进制字符;AES-256 的直接输入密钥必须为 64 个十六进制字符。切换密钥位数后,原来的密钥不会自动变长,需要重新生成或填写。
除密码外,还需核对密钥位数、IV、AAD,以及密码派生时的盐值和迭代次数。密文被截断、认证标签缺失,或 AAD 多出空格、换行,也会造成失败。认证失败通常不能单凭错误消息判断究竟是哪一个参数不匹配。
本工具调用浏览器内置 Web Crypto API,需要支持该能力的浏览器和安全访问环境。请使用 HTTPS 打开工具页面;本地开发可使用 http://localhost:40521。在手机上通过局域网 IP 的普通 HTTP 地址访问开发服务时,加密功能可能不可用。浏览器加密 API 的环境要求
AES-256 表示派生或直接输入的密钥长度,不代表用户输入的密码拥有同样的强度。密码派生可以增加穷举成本,但仍应使用较长、不易猜中的独立密码。
可以操作,但拿到两者并知道必要参数的人或平台也能解密。需要保护内容时,应让密钥或密码保持私密,并通过独立渠道传递。使用公开算法并不会使 AES 失效,关键在于密钥是否保密。