该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar注意:RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行.RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异常: Exception in thread "main" javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes at c
RSA的算法涉及三个参数,n.e.d. 其中,n是两个大质数p.q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度. e1和d是一对相关的值,e可以任意取,但要求e与(p-1)*(q-1)互质:再选择d,要求(d*e1)mod((p-1)*(q-1))=1. (n,e),(n,d)就是密钥对.其中(n,e)为公钥,(n,d)为私钥.[1] RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^d mod n:B=A^e mod n:(公钥加密体制中,一般用公钥加密,私钥解密) e