java 生成 rsa 公钥和私钥代码并写入E盘两个文件里面
时间: 2024-02-20 19:59:18 浏览: 100
以下是 Java 生成 RSA 公钥和私钥并写入文件的代码:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.*;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
public class RSAKeyGenerator {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException {
// 创建密钥对生成器
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
// 初始化密钥对生成器,指定密钥长度(单位:位)
keyPairGenerator.initialize(2048);
// 生成密钥对
KeyPair keyPair = keyPairGenerator.generateKeyPair();
// 获取公钥和私钥
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// 将公钥和私钥转换为 Base64 编码的字符串
String publicKeyString = Base64.getEncoder().encodeToString(publicKey.getEncoded());
String privateKeyString = Base64.getEncoder().encodeToString(privateKey.getEncoded());
// 将公钥和私钥写入文件
FileOutputStream publicKeyFile = new FileOutputStream("E:/publicKey.txt");
publicKeyFile.write(publicKeyString.getBytes());
publicKeyFile.close();
FileOutputStream privateKeyFile = new FileOutputStream("E:/privateKey.txt");
privateKeyFile.write(privateKeyString.getBytes());
privateKeyFile.close();
}
}
```
上述代码的主要变化是在获取公钥和私钥后,将它们转换为 Base64 编码的字符串,并写入到文件中。这里使用了 `java.util.Base64` 类来进行 Base64 编码。注意,写入文件时要使用字节流(`FileOutputStream`)。
阅读全文