我有这个问题,我不知道如何读取我的公钥文件,我已经寻找了一段时间的解决方案,但他们往往不会回答我的问题,在我的情况下。我有一个生成公钥和私钥的程序,我有另一个方法,分别把它们写在自己的文件中。这听起来可能很傻,但我真的不知道如何从文件中读取密钥。这是必要的,因为我想做asymetec加密,所以将传输密钥文件。我将在下面链接我的代码,任何帮助都非常感谢:)
如果你还需要我解释的细节,请尽管问。
谢谢!
密钥生成和存储方法:
public class Encryption {
public static PrivateKey privateKey;
public static PublicKey publicKey;
public void KeyGeneration() throws NoSuchAlgorithmException{
KeyPairGenerator Generator = KeyPairGenerator.getInstance("RSA"); // Creat the Generator object with RSA
Generator.initialize(1024); // Set the generator to make the 2048 bit key
KeyPair Pair = Generator.genKeyPair(); // Generate the key pair
publicKey = Pair.getPublic(); // Set the Public Key
privateKey = Pair.getPrivate(); // Set the private Key
System.out.println(Base64.getEncoder().encodeToString(publicKey.getEncoded()));
System.out.println(Base64.getEncoder().encodeToString(privateKey.getEncoded()));
}
public void writeToFile(String filePath, byte[] key) throws IOException{
File fileToWriteto = new File(filePath);
fileToWriteto.getParentFile().mkdirs();
FileOutputStream FoutputStream = new FileOutputStream(fileToWriteto);
FoutputStream.write(key);
FoutputStream.flush();
FoutputStream.close();
}
}
1条答案
按热度按时间7qhs6swi1#
保存和加载rsa密钥文件的最简单方法是使用编码版本。下面的代码以编码形式将私钥和公钥保存到文件中。
简单输出:
警告:请注意,以下代码没有异常处理,仅用于教育目的。