日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

20145308刘昊阳 《Java程序设计》实验五报告

發布時間:2023/12/13 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20145308刘昊阳 《Java程序设计》实验五报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

20145308劉昊陽 《Java程序設計》實驗五 Java網絡編程及安全 實驗報告

實驗名稱

Java網絡編程及安全

實驗內容

1.掌握Socket程序的編寫;
2.掌握密碼技術的使用;
3.設計安全傳輸系統。

統計的PSP(Personal Software Process)時間

步驟耗時(min)百分比
需求分析20~3017%
設計20~3017%
代碼實現10~2011%
測試50~6033%
分析總結30~4022%

實驗步驟

  • 我是做的服務器端,我的結伴對象是20145325張梓靖,地址:http://www.cnblogs.com/zzjzzjzzj/p/5471240.html
  • 1.先利用示例代碼運行,監聽客戶端
import java.io.*; import java.net.*; /*** 復用連接的echo服務器* 功能:將客戶端發送的內容反饋給客戶端*/ public class MulSocketServer {public static void main(String[] args) {ServerSocket serverSocket = null;Socket socket = null;OutputStream os = null;InputStream is = null;//監聽端口號int port = 10000;try {//建立連接serverSocket = new ServerSocket(port);System.out.println("服務器已啟動:");//獲得連接socket = serverSocket.accept();//初始化流is = socket.getInputStream();os = socket.getOutputStream();byte[] b = new byte[1024];for(int i = 0;i < 2;i++){int n = is.read(b);//輸出System.out.println("客戶端發送內容為:" + new String(b,0,n));//向客戶端發送反饋內容os.write(b, 0, n);}} catch (Exception e) {e.printStackTrace();}finally{try{//關閉流和連接os.close();is.close();socket.close();serverSocket.close();}catch(Exception e){}}} }
  • 接收到對方傳送的字符串

  • 2.生成公鑰、私鑰

KeyPairGenerator kpg=KeyPairGenerator.getInstance("RSA");kpg.initialize(1024);KeyPair kp=kpg.genKeyPair();PublicKey pbkey=kp.getPublic();PrivateKey prkey=kp.getPrivate();FileOutputStream f1=new FileOutputStream("Skey_RSA_pub.dat");ObjectOutputStream b1=new ObjectOutputStream(f1);b1.writeObject(pbkey);FileOutputStream f2=new FileOutputStream("Skey_RSA_priv.dat");ObjectOutputStream b2=new ObjectOutputStream(f2);b2.writeObject(prkey);

  • 3.利用解密算法對收到的密文進行解密
BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream("Enc_RSA.dat")));String ctext=in.readLine();BigInteger c=new BigInteger(ctext);FileInputStream f=new FileInputStream("Skey_RSA_priv.dat");ObjectInputStream b=new ObjectInputStream(f);RSAPrivateKey prk=(RSAPrivateKey)b.readObject( );BigInteger d=prk.getPrivateExponent();BigInteger n=prk.getModulus();System.out.println("d= "+d);System.out.println("n= "+n);BigInteger m=c.modPow(d,n);System.out.println("m= "+m);byte[] mt=m.toByteArray();System.out.println("PlainText is ");for(int i=0;i<mt.length;i++){System.out.print((char) mt[i]); FileInputStream f=new FileInputStream("SEnc.dat");int num=f.available();byte[ ] ctext=new byte[num];f.read(ctext);FileInputStream f2=new FileInputStream("keykb1.dat");int num2=f2.available();byte[ ] keykb=new byte[num2];f2.read(keykb);SecretKeySpec k=new SecretKeySpec(keykb,"DESede");Cipher cp=Cipher.getInstance("DESede");cp.init(Cipher.DECRYPT_MODE, k);byte []ptext=cp.doFinal(ctext);String p=new String(ptext,"UTF8");System.out.println(p);

轉載于:https://www.cnblogs.com/yg961022/p/5471201.html

總結

以上是生活随笔為你收集整理的20145308刘昊阳 《Java程序设计》实验五报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。