javax.crypto.IllegalBlockSizeException:数据不能长于53字节我知道这是因为RSA算法只能加密最大字节长度为RSA key length的位除以8减去11个填充字节的数据,即最大字节数= key length in bits /8-11。
这里我使用512密钥大小,所以它不允许超过53。但我需要维护512位密钥,但加密超过53字节是否有任何可能性。
发布于 2011-05-09 23:00:08
是也不是。您不能使用RSA加密,但您可以使用以下方法之一:
1. send Ek(D) (D encrypted with symmetric algorithm with key K)
2. send Epk(K) as well (K encrypted with RSA algorithm with PK)
另一边开PK(K)得到K,开K( D )得到D。
第一种方法要好得多,主要有两个原因:
itself).
(3. PGP如此普遍肯定是有原因的…)
发布于 2011-05-09 23:57:09
你为什么不使用包络呢?生成对称密钥( AES ),使用该AES密钥加密数据,然后使用公开RSA密钥加密AES密钥。发送加密的数据,以及加密的AES密钥。然后使用私有RSA密钥解密AES密钥,并使用该密钥解密其余数据。这将允许您加密任何大小的数据。
https://stackoverflow.com/questions/5938611
复制相似问题