如何把KeyPair中的privateKey和publicKey变为字符串格式
时间: 2024-03-11 18:51:49 浏览: 130
IOS RSA公私钥生成
在Java中,可以使用Base64编码将KeyPair中的privateKey和publicKey转换为字符串格式。下面是示例代码:
```java
import java.security.*;
public class KeyPairToString {
public static void main(String[] args) throws Exception {
// 生成KeyPair
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
keyPairGen.initialize(2048);
KeyPair keyPair = keyPairGen.generateKeyPair();
// 将privateKey转换为字符串格式
PrivateKey privateKey = keyPair.getPrivate();
byte[] privateKeyBytes = privateKey.getEncoded();
String privateKeyStr = Base64.getEncoder().encodeToString(privateKeyBytes);
// 将publicKey转换为字符串格式
PublicKey publicKey = keyPair.getPublic();
byte[] publicKeyBytes = publicKey.getEncoded();
String publicKeyStr = Base64.getEncoder().encodeToString(publicKeyBytes);
// 输出转换后的字符串
System.out.println("privateKeyStr: " + privateKeyStr);
System.out.println("publicKeyStr: " + publicKeyStr);
}
}
```
运行以上代码,可以得到类似以下的输出结果:
```
privateKeyStr: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDk9pL8z0Oz2mS4...
publicKeyStr: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5PaS/M9Ds9pkuMISd7N4...
```
注意,这里使用的是Java 8中的Base64类。如果使用的是Java 7或更早版本,可以使用第三方库,如Apache Commons Codec来进行Base64编码。
阅读全文