30 lines
1017 B
Java
30 lines
1017 B
Java
|
|
package org.nl;
|
||
|
|
|
||
|
|
import java.security.*;
|
||
|
|
import java.util.Base64;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @Author: lyd
|
||
|
|
* @Date: 2025/8/13
|
||
|
|
*/
|
||
|
|
public class RSAKeyGenerator {
|
||
|
|
public static void main(String[] args) {
|
||
|
|
try {
|
||
|
|
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
|
||
|
|
keyGen.initialize(2048); // 推荐 2048 位密钥,安全级别高
|
||
|
|
KeyPair pair = keyGen.generateKeyPair();
|
||
|
|
PrivateKey privateKey = pair.getPrivate();
|
||
|
|
PublicKey publicKey = pair.getPublic();
|
||
|
|
|
||
|
|
// Base64 编码,便于存储和传输
|
||
|
|
String privateKeyBase64 = Base64.getEncoder().encodeToString(privateKey.getEncoded());
|
||
|
|
String publicKeyBase64 = Base64.getEncoder().encodeToString(publicKey.getEncoded());
|
||
|
|
|
||
|
|
System.out.println("Private Key (Base64): " + privateKeyBase64);
|
||
|
|
System.out.println("Public Key (Base64): " + publicKeyBase64);
|
||
|
|
} catch (NoSuchAlgorithmException e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|