byte[] publicRsaKey = ((RSAPublicKey) this.RSAKeyPair.getPublic()).getModulus().toByteArray();
getModulus() 是取模数n吧. RSA的公钥是(e,n)吧. 光光一个n不是完整的公钥吧.
可是另一边的代码确实只用了这个数据就组建起了完整的公钥来加密... 请教我是不是哪里理解错了?

解决方案 »

  1.   

    中间参数是p和 q 吧RSA的算法涉及三个参数,n、e1、e2。   其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。   e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。   (n及e1),(n及e2)就是密钥对。   RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;