javax.crypto.IllegalBlockSizeException:数据不得超过53个字节我知道这是因为RSA算法只能加密具有RSA密钥长度的最大字节长度的数据,以8位减去11个填充字节为单位,即最大字节数=密钥长度(位/ 8 - 11).
这里使用512密钥大小,所以它不允许超过53.但我需要保持512位密钥,但加密超过53字节有任何可能性.
是的,不是.您无法使用RSA进行加密,但您可以使用以下方法之一:
通常使用对称算法加密并传递使用RSA加密的密钥.例如,要将数据D发送给具有公钥PK的另一个人:
另一方打开PK(K)得到K,打开K(D)得到D.
将数据拆分成小块并分别加密每个数据.
第一种方法是更好的方法,主要有两个原因:
(3.必须有一个原因,为什么PGP如此常见......)