Input length not multiple of 8 bytes
时间: 2023-12-15 09:07:21 浏览: 103
这个错误通常是因为DES算法要求输入数据的长度必须是8字节的倍数,而你输入的数据长度不符合要求导致的。
如果你使用的是ECB加密模式且不采用填充模式,那么你需要手动将输入数据补足到8字节的倍数,通常使用0进行补足。例如,如果你要加密的数据长度为11字节,则需要在最后补上5个0,使总长度为16字节,即2个8字节。加密时,再将补足的0作为一部分进行加密。
如果你使用的是其他加密模式或填充模式,可以根据具体的算法和模式要求来处理输入数据,通常不需要手动进行补足。
另外,需要注意的是,ECB模式下同样的明文会得到相同的密文,容易受到攻击,建议在实际应用中采用更安全的加密算法和加密模式。
相关问题
Aes 解密 出错误Input length not multiple of 16 bytes
这个问题可能是由于输入的密文长度不是 16 的倍数导致的。在使用 AES 解密时,密文的长度必须是 16 的倍数,否则会出现这个错误。您可以尝试在密文的末尾添加填充数据,使其长度达到 16 的倍数,然后再进行解密。
javax.crypto.IllegalBlockSizeException: Input length not multiple of 16 bytes
这个异常是因为在使用AES解密时,解密的字符串的数组长度不是16的倍数所导致的。在AES加密中,加密的数据长度必须是16的倍数,如果不是,则需要进行填充。而在解密时,如果解密的数据长度不是16的倍数,则会抛出该异常。为了解决这个问题,可以在加密时使用填充方式,例如PKCS5Padding,来保证加密后的数据长度是16的倍数。同时,在解密时也需要使用相同的填充方式来解密。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)