illegalblocksizeexception专题

Java 3DES加密 javax.crypto.IllegalBlockSizeException: data not block size aligned

3DES算法 3DES算法是指使用双长度(16字节)密钥K=(KL||KR)将8字节明文数据块进行3次DES加密/解密。如下所示: Y = DES( KL[DES-1( KR[DES( KL[X] )] )] ) 解密方式为: X = DES-1( KL[DES( KR[DES-1( KL[Y] )] )] ) 其中,DES( KL[X] )表示用密钥K对数据X进行DES加密,DES-1

RSA加密内容过长导致抛异常javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes

在进行对内容加密时发现内容长度过长就会导致Data must not be longer than 117 bytes的问题,后来百度的一番才得知由于是RSA的加密长度只能加密117bytes的内容,所以就报错了。 搜索网上的内容给出的解决办法有两种,一种是分段进行加密数据,另一种加密是使用RSA加密AES的密码,然后使用AES来加密数据。两者比较推荐使用后者,前者的加密方式确实安全