å¸®ä½ å®åäºä¸ä»£ç ã
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Reader;
import java.util.Map;
public class Test {
static String publicKey;
static String privateKey;
public Test() throws Exception {
// TODO Auto-generated constructor stub
Map<String, Object> keyMap = RSAUtils.genKeyPair();
publicKey = RSAUtils.getPublicKey(keyMap);
privateKey = RSAUtils.getPrivateKey(keyMap);
// ä¿åå¯é¥ï¼åååå«ä¸ºpublicKeyãtxt åprivateKeyãtxt;
PrintWriter pw1 = new PrintWriter(new FileOutputStream(
"D:/publicKey.txt"));
PrintWriter pw2 = new PrintWriter(new FileOutputStream(
"D:/privateKey.txt"));
pw1.print(publicKey);
pw2.print(privateKey);
pw1.close();
pw2.close();
// ä»ä¿åçç®å½è¯»ååæçä¿åçå
¬é¥ï¼
String pubkey = readFile("D:/publicKey.txt");// 读åçå
¬é¥å
容ï¼
String data = readFile("D:/1.txt"); // éè¦å
¬é¥å å¯çæ件çå
容(å¦D:/1.txt)
byte[] encByPubKeyData = RSAUtils.encryptByPublicKey(data.getBytes(),
pubkey);
//å°å å¯æ°æ®base64ååå
¥æ件
writeFile("D:/Encfile.txt", Base64Utils.encode(encByPubKeyData).getBytes("UTF-8"));
// å å¯åçæ件ä¿åå¨
String prikey = readFile("D:/privateKey.txt");// ä»ä¿åçç®å½è¯»ååæçä¿åçç§é¥ï¼
String Encdata = readFile("D:/Encfile.txt");// åæå å¯çæ件çå
容;
byte[] encData = Base64Utils.decode(Encdata);
byte[] decByPriKeyData = RSAUtils.decryptByPrivateKey(encData, prikey);
// 解å¯ååçæ件ä¿åå¨D:/Decfile.txt
writeFile("D:/Decfile.txt", decByPriKeyData);
}
private static String readFile(String filePath) throws Exception {
File inFile = new File(filePath);
long fileLen = inFile.length();
Reader reader = new FileReader(inFile);
char[] content = new char[(int) fileLen];
reader.read(content);
System.out.println("读åå°çå
容为ï¼" + new String(content));
return new String(content);
}
private static void writeFile(String filePath, byte[] content)
throws Exception {
System.out.println("å¾
åå
¥æ件çå
容为ï¼" + new String(content));
File outFile = new File(filePath);
OutputStream out = new FileOutputStream(outFile);
out.write(content);
if (out != null) out.close();
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
new Test();
}
}
æµè¯ç»æï¼
读åå°çå
容为ï¼MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVr9D9hYPD4kS5k86dRm+utyt5XGOSTPwT0YeoBnQmgeISkNsbtUFkY6txyodVl26IM1H5iwJ1jMQ63+lXfZxzNpeA+rHaxmeQ2qI+5ES9AF7G6KIwjzakKsA08Ly+1y3dp0BnoyHF7/Pj3AS28fDmE5piea7w36vp4E3Ts+F9vwIDAQAB
读åå°çå
容为ï¼éå¿ahaha