1.第一个类KeyGenerate.java生成RSA公钥与私钥并保存到文件中
package signature;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import org.junit.Test;
import sun.misc.BASE64Encoder;
/**
* @author numb-tangsi
*/
public class KeyGenerate {
public static final String PUBLIC_KEY_FILE_PATH = "d:/publickey.keystore";
public static final String PRIVATE_KEY_FILE_PATH = "d:/privatekey.keystore";
@Test
public void test1() throws NoSuchAlgorithmException, IOException {
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");
SecureRandom random = new SecureRandom();
generator.initialize(1024, random);
KeyPair keyPair = generator.generateKeyPair();
PrivateKey privateKey = keyPair.getPrivate();
PublicKey publicKey = keyPair.getPublic();
//将生成的私钥及公钥base64编码
String privateKeyStr = new BASE64Encoder().encode(privateKey.getEncoded());
String publicKeyStr = new BASE64Encoder().encode(publicKey.getEncoded());
System.out.println("privateKeyStr = " + privateKeyStr);
System.out.println("publicKeyStr = " + publicKeyStr);
//将公钥以及私钥写入文件保存