📄 createkeypair.java
字号:
import java.security.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class CreateKeyPair
{
public static void main(String args[])
{
KeyPairGenerator keygen = null;
KeyPair keys = null;
String dir = null;
//从命令行得到存放公钥和私钥钥的目录
if(args.length!=1)
{
System.out.println("Usage: java CreateKeyPair Directory");
return;
}
dir = args[0];
//产生公钥和私钥
try
{
System.out.println("产生公钥和私钥...");
keygen = KeyPairGenerator.getInstance("RSA");
keygen.initialize(1024);
keys = keygen.generateKeyPair(); //生成密钥组
System.out.println("产生公钥和私钥结束!");
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
//把公钥和私钥保存到磁盘
try
{
ObjectOutputStream out =
new ObjectOutputStream(new FileOutputStream(dir + "\\myprikey.txt"));
out.writeObject(keys.getPrivate());
out.close();
System.out.println("私钥保存到 " + dir + "\\myprikey.txt");
out = new ObjectOutputStream(new FileOutputStream(dir + "\\mypubkey.txt"));
out.writeObject(keys.getPublic());
out.close();
System.out.println("公钥保存到 " + dir + "\\mypubkey.txt");
/*
byte[] pubKeyBytes = keys.getPublic().getEncoded();
FileOutputStream fos = new FileOutputStream(dir + "\\myprikey.txt");
fos.write(pubKeyBytes);
fos.close();
byte[] priKeyBytes = keys.getPrivate().getEncoded();
fos = new FileOutputStream(dir + "\\mypubkey.txt");
fos.write(priKeyBytes);
fos.close();
*/
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -