当前位置:在线工具>加密解密>AES-128-CBC解密 / AES-256-CBC解密
填写密文内容*
内容解码形式:
解密的密钥*
解密模式:
IV 初始化向量*
16进制iv值示例
填充算法:PKCS7Padding (PKCS#7)
名称解密的结果
解密模式
IV(16进制)
解密密钥
明文内容
使用说明

请仔细阅读:

  1. 解密: "IV 初始化向量" 需要填写值了,这个省不了呢。
  2. 如何把十六进制转换为二进制?比如:您可以通过 PHP 函数 hex2bin 转换为二进制值。您可以通过 Go 函数 strconv 转换为二进制值。
  3. 该工具会自动删除 “内容、iv、秘钥” 前后多余的空格,这个是基础功能了。
  4. 站长发现很多网站工具、技术文章里 AES-256系列 加密、解密既然没有提及 IV,这是错误的!
  5. 在 Go 语言中 AES 秘钥的长度(16/24/32)决定不同的加密强度。以CBC加密模式举例,例如:秘钥长度16字节(128位密钥),对应 AES-128-CBC;秘钥长度24字节(192位密钥),对应 AES-192-CBC;秘钥长度32字节(256位密钥),对应 AES-256-CBC。
  6. Go 1.24 标记 CFB 、OFB 模式为废弃(deprecated),不建议应用新项目,被弃用的根本原因是存在严重的安全与设计缺陷。

关于 AES-CBC 数据填充算法,本工具只提供一种 PKCS#7 说明如下:

NoPadding

顾名思义,NoPadding 就是不填充的意思。其缺点是要求明文必须是16字节的整数倍。业内没人会使用。

PKCS7Padding (推荐)

言简意赅,就是缺几补几。例如:数据体1234567890AA差4补齐16字节,则在数据末尾增补的内容是数字4。

PKCS5Padding

准确来讲:AES加密没有PKCS#5。AES的块大小是16bytes,而PKCS#5只能用于8bytes。

ZeroPadding

数据长度不对齐时使用0填充。仅适合以\0结尾的数据,缺点没办法区分真实数据与填充数据。业内没人会使用。

图示教程