Java RSA,1024位密钥,加密明文最大长度是是117字节,不管多长加密的密文好像都是128字节。
是这样的吗?

解决方案 »

  1.   

    是的,RSA 1024 表示加密后的长度为 1024 位,即 128 个字节,但明文的最大长度不能超过 117 个字节,超过 117 个字需要使用 RSA 2048,超过 245 个字节,需要使用更高位数的 RSA。RSA 的位数越高,其密钥对产生及加密、解密的速度越慢,这是基于大素数非对称加密算法的缺陷。这样的非对称加密算法在效率上远比基于离散对数的非对称加密算法(比如:椭圆曲线加密算法)差。
      

  2.   

    密钥的字节数减去11就是明文可以加密的最大长度。
    关于最终结果位数参考
    http://www.360doc.com/content/06/0111/18/73_56839.shtml