package src.com;
import java.security.*;
import java.util.Base64;
public class rsaKey {
public static void main(String[] args) throws NoSuchAlgorithmException{
KeyPairGenerator keyType= KeyPairGenerator.getInstance("RSA");
keyType.initialize(1024);
KeyPair keyPair = keyType.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
byte[] pubKeyBytes = publicKey.getEncoded();
String pubKeyBase64 = Base64.getEncoder().encodeToString(pubKeyBytes);
byte[] priKeyBytes = privateKey.getEncoded();
String priKeyBase64 = Base64.getEncoder().encodeToString(priKeyBytes);
System.out.println("publicKey: "+pubKeyBase64);
System.out.println("privateKey: "+priKeyBase64);
System.out.println("===========================");
String pub = bytesToHex(publicKey.getEncoded());
String pri = bytesToHex(privateKey.getEncoded());
System.out.println("pub: "+pub);
System.out.println("pri: "+pri);
}
// 将字节数组转换为十六进制字符串
private static String bytesToHex(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte b : bytes) {
result.append(String.format("%02X", b));
}
return result.toString();
}
}