進口?Java . io . file;
進口?Java . io . file output stream;
進口?Java . io . filereader;
進口?Java . io . output stream;
進口?Java . io . printwriter;
進口?Java . io . reader;
進口?Java . util . map;
公共?班級?測試?{
靜電?字符串?publicKey
靜電?字符串?私有密鑰;
公共?測試()?摔投?例外?{
//?托多?自動生成?建造師?煙蒂
地圖& lt字符串,?Object & gt?鍵盤圖?=?rsautils . genkey pair();
公鑰?=?rsautils . get public key(key map);
privateKey?=?rsautils . getprivatekey(key map);
//?用publicKey的名稱保存密鑰。txt?和privateKey。txt
版畫家?pw1?=?新的?PrintWriter(新?文件輸出流(
" D:/public key . txt "));
版畫家?pw2?=?新的?PrintWriter(新?文件輸出流(
" D:/private key . txt "));
pw 1 . print(public key);
pw2 . print(private key);
pw 1 . close();
pw2 . close();
//?從保存的目錄中讀取保存的公鑰,
字符串?pubkey?=?readFile(" D:/public key . txt ");//?讀取公鑰的內容;
字符串?數據?=?readFile(" D:/1 . txt ");?//?需要公鑰加密的文件內容(如D:/1.txt)。
byte[]?encByPubKeyData?=?RSA utils . encryptbypublickey(data . getbytes(),
pubkey);
//將加密的base64數據寫入文件。
writeFile("D:/Encfile.txt ",base 64 utils . encode(encByPubKeyData)。getBytes(" UTF-8 "));
//?加密文件保存在。
字符串?普裏基?=?readFile(" D:/private key . txt ");//?從保存的目錄中讀取剛剛保存的私鑰,
字符串?Encdata?=?readFile(" D:/encfile . txt ");//?剛剛加密的文件內容;
byte[]?encData?=?base 64 utils . decode(Encdata);
byte[]?decByPriKeyData?=?rsautils . decryptbyprivatekey(encData,?prikey);
//?解密後的文件保存在d:/decfile.txt中。
writeFile("D:/Decfile.txt ",decByPriKeyData);
}
私人?靜電?字符串?readFile(字符串?文件路徑)?摔投?例外?{
文件?inFile?=?新的?文件(文件路徑);
龍?fileLen?=?infile . length();
讀者?讀者?=?新的?FileReader(inFile);
char[]?內容?=?新的?char[(int)?fileLen];
reader.read(內容);
System.out.println("妳讀到的是:"?+?新的?字符串(內容));
回歸?新的?字符串(內容);
}
私人?靜電?作廢?writeFile(字符串?文件路徑,?byte[]?內容)
摔投?例外?{
System.out.println("要寫入的文件內容是:"?+?新的?字符串(內容));
文件?outFile?=?新的?文件(文件路徑);
OutputStream?出局?=?新的?file output stream(outFile);
out.write(內容);
如果?(出?!=?null)?out . close();
}
公共?靜電?作廢?main(String[]?args)?摔投?例外?{
//?托多?自動生成?方法?煙蒂
新的?test();
}
}測試結果:
讀取的內容為:MIG fma 0 csqgsib 3 dqebaqua 4 gnadcbiqkbgqdvr 9 ypd 4ks 5k 86 DRM+ut y5 ost PWT 0 eobnqmgeisknbtufky 6 txyodvl 26 im 1 H5 iwj 1 jmq 63+lxfzxznpea+RH。axmeq 2 qi+5 es 9 af 7g 6 kiwjzakksa 08 ly+1y 3d P0 bnoyhf 7/pj 3 as 28 fdme 5 piea 7 w 36 VP 4 E3 ts+f 9 vwidaqab
我看的是:啊哈,黃縣。