用 AES 加密或解密。单向摘要请用 哈希计算
AES 是分组密码。这一页在浏览器里用 ECB、CBC、CTR、OFB、CFB 或 GCM 运算,密钥是 16、24 或 32 字节。密码的单向指纹在 哈希计算。
1234567890abcdef、偏移量 1234567890abcdef,hex 结果是 7e6347a62a0a976373e79b1bd586363d。文本按字符集变成字节。hex 和 Base64 本身就是字节,不再套用字符集。密钥接着必须是 16、24 或 32 字节,也就是 AES-128、AES-192 或 AES-256。1234567890abcdef 这种 16 个 UTF-8 字符的密钥就是 16 字节。
CBC、CFB、OFB 和 CTR 的偏移量是 16 字节。ECB 不用偏移量。GCM 接受任意非空偏移量,常见长度是 12 字节。pkcs5padding 和 pkcs7padding 在这里一样,都补 1 到 16 个字节,使长度成为 16 的倍数。nopadding 不改字节,所以 ECB 和 CBC 这时要求长度已经是 16 的倍数。GCM 只能用 nopadding。
GCM 的 Tag 接在密文后面。Tag 长度默认 128 位。AAD 参与校验,本身不加密。解密不接受文本输入,加密不接受文本输出。密钥、偏移量、Tag 或填充不对都会失败。
AES 的分组是 16 字节。两种填充都用同一个计数字节补满最后一组。
模式、填充、密钥和偏移量不变时一样。显示示例的结果是 7e6347a62a0a976373e79b1bd586363d。