AES解密hutool工具包 报错IllegalBlockSizeException: last block incomplete in decryption
时间: 2023-12-15 09:30:10 浏览: 561
android DES加密解密 javax.crypto.IllegalBlockSizeException: last block incomplete in
根据提供的引用内容,该问题可能是因为直接将一个string的byte []字符串直接加密成密文,在传输过程中,由于默认的编码方式的问题可能会造成数据的丢失。解决方法是将加密后的密文再进行整体的base64加密,解码时先对其进行base64解密再进行AES解密,这样就能保证接受数据的正确性并且不会缺失。另外,使用hutool工具包进行AES解密时,需要注意密钥和偏移量的长度必须为16位。以下是代码示例:
```java
// 密钥和偏移量
String key = "1234567890123456";
String iv = "1234567890123456";
// 待解密的密文
String encryptStr = "加密后的密文";
// 先进行base64解密
byte[] encryptBytes = Base64.decode(encryptStr);
// 进行AES解密
byte[] decryptBytes = SecureUtil.aes(key.getBytes(), iv.getBytes()).decrypt(encryptBytes);
// 将解密后的字节数组转换为字符串
String decryptStr = new String(decryptBytes);
```
阅读全文