千家信息网

AES解密异常Given final block not properly padded怎么办

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要为大家展示了"AES解密异常Given final block not properly padded怎么办",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究
千家信息网最后更新 2024年11月11日AES解密异常Given final block not properly padded怎么办

这篇文章主要为大家展示了"AES解密异常Given final block not properly padded怎么办",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"AES解密异常Given final block not properly padded怎么办"这篇文章吧。

AES 128/192/256位CBC/CFB/ECB/OFB/PCBC 在线加密解密

解密内容:1243CFEBD819AA6B1C717DE870459F7B
秘钥:http://www.it399.com
没有使用填充向量iv
AES解密异常Given final block not properly padded

javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:966)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:436)
at javax.crypto.Cipher.doFinal(Cipher.java:2165)


原因: 解密的时候直接对输入的16进制值:1243CFEBD819AA6B1C717DE870459F7B 取getBytes了,这样获取到的字节数组长度是16,不能直接这样操作。

inputValue.getBytes(AESUtil.CHARSET)

需要将16进制转字节数组,这样获取到的内容是32位,而且和之前直接获取到的字节数组不一样。

TypeConvert.hexStringToBytes(inputValue)

16进制转字节数组方法

/**
* Convert hex string to byte[]
*
* @param hexString the hex string
* @return byte[]
*/
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}

以上是"AES解密异常Given final block not properly padded怎么办"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容 字节 数组 怎么办 篇文章 进制 学习 帮助 加密解密 原因 向量 方法 时候 易懂 更多 条理 知识 编带 行业 资讯 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 张家口廊坊金蝶网络技术 网络技术的原理及缺陷 树苗网络安全视频 软件开发和测试工作年限 如何把数据库备份到新电脑上 谷歌流程器不缓存数据库 服务器散热该怎么解决 干部落实网络安全 数据库在会计信息系统中的应用 东南大学网络安全2022考研 软通软件开发对专业有要求吗 2008服务器安全软件下载 南宫软件开发近期价格 手机玩游戏卡是不是服务器问题 轻量服务器可以转给别人吗 如何股票系统交易软件开发 数据库主从复制连接配置 游戏辅助用什么软件开发 泉州直播软件开发搭建 广东综合软件开发价格对比 网络安全主题班团会 数据库某一字段批量添加字符 3g网络技术及其运营商 河北崇雨网络技术有限公司好吗 网络技术需要数学基础吗 二层网络技术有那些 软件开发工程师培训哪家好 软件开发项目管理类论文 上海电话软件开发诚信合作 服务器杜绝挖矿行为
0