gpt4 book ai didi

java - 生成 RSA key 对并将 public 编码为字符串

转载 作者:IT老高 更新时间:2023-10-28 21:14:49 25 4
gpt4 key购买 nike

我想生成 512 位 RSA key 对,然后将我的公钥编码为字符串。我怎样才能做到这一点?

最佳答案

作为十六进制字符串输出

import java.security.*;
public class Test {
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);
byte[] publicKey = keyGen.genKeyPair().getPublic().getEncoded();
StringBuffer retString = new StringBuffer();
for (int i = 0; i < publicKey.length; ++i) {
retString.append(Integer.toHexString(0x0100 + (publicKey[i] & 0x00FF)).substring(1));
}
System.out.println(retString);
}
}

作为字节值输出

import java.security.*;
public class Test {
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);
byte[] publicKey = keyGen.genKeyPair().getPublic().getEncoded();
StringBuffer retString = new StringBuffer();
retString.append("[");
for (int i = 0; i < publicKey.length; ++i) {
retString.append(publicKey[i]);
retString.append(", ");
}
retString = retString.delete(retString.length()-2,retString.length());
retString.append("]");
System.out.println(retString); //e.g. [48, 92, 48, .... , 0, 1]
}
}

关于java - 生成 RSA key 对并将 public 编码为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1709441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com