一、介绍
- KeyPairGenerator用于生成公钥和私钥对,大部分使用在非对称加密中
- 其二进制位长度可以是1024位或2048位,长度越长加密强度越大,目前为止公之于众的能破解的最大长度为768位密钥,所以长度要指定768以上
二、生成密钥对
public void generateKeyPair() throws Exception{
KeyPairGenerator keyPairGenerator=KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(1024);
KeyPair keyPair=keyPairGenerator.generateKeyPair();
RSAPublicKey rsaPublicKey=(RSAPublicKey)keyPair.getPublic();
RSAPrivateKey rsaPrivateKey=(RSAPrivateKey)keyPair.getPrivate();
String rsaPublicKeyStr=Base64.encodeBase64String(rsaPublicKey.getEncoded());
System.err.println("rsaPublicKey: "+rsaPublicKeyStr);
String rsaPrivateKeyStr=Base64.encodeBase64String(rsaPrivateKey.getEncoded());
System.err.println("rsaPrivateKey: "+rsaPrivateKeyStr);
}