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

歡迎訪問 生活随笔!

生活随笔

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

java

20145315 《Java程序设计》实验五实验报告

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

20145315 《Java程序設計》實驗五實驗報告

實驗五 Java網絡編程

我負責服務器部分,王嘉瀾負責客戶端部分:http://www.cnblogs.com/SJZGM10/p/5467368.html

網絡編程技術

  • 客戶端步驟:
    • 建立網絡連接
    • 交換數據:加密使用AES或者DES/AES或者DES加密密鑰key并發送
    • 關閉網絡連接
  • 服務器端步驟:
    • 監聽端口
    • 獲得連接
    • 交換數據:使用服務器的公鑰加密/公鑰算法使用RSA或DH/檢驗發送信息的完整性使用MD5或者SHA3
    • 關閉連接

      代碼:

    public static void main(String args[]) {ServerSocket sc = null;ServerSocket sc1 = null;Socket socket=null;Socket socket1=null;try {sc= new ServerSocket(1125);sc1= new ServerSocket(1126);System.out.println("端口號:" + sc.getLocalPort());System.out.println("服務器1已經啟動...");System.out.println("端口號:" + sc1.getLocalPort());System.out.println("服務器2已經啟動...");socket = sc.accept();System.out.println("已經建立連接");socket1 = sc1.accept();System.out.println("已經建立1連接");BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));BufferedReader in1 = new BufferedReader(new InputStreamReader(socket1.getInputStream()));System.out.print("已接收\n");PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);String aline=in.readLine();String aline1=in1.readLine();System.out.print("寫入文件中...\n");byte [] bytes = aline.getBytes("GB2312");byte [] bytes1 = aline1.getBytes("GB2312");aline = new String(bytes, "GB2312");aline1 = new String(bytes1, "GB2312");FileOutputStream s=new FileOutputStream("key1.dat");s.write(bytes);FileOutputStream s1=new FileOutputStream("SEnc.dat");s1.write(bytes1);System.out.print("已寫入文件\n");FileInputStream f=new FileInputStream("key1.dat");ObjectInputStream b=new ObjectInputStream(f);Key k=(Key)b.readObject( );byte[ ] kb=k.getEncoded( );FileOutputStream f2=new FileOutputStream("keykb1.dat");f2.write(kb);System.out.print("生成解密密鑰\n");for(int i=0;i<kb.length;i++){}FileInputStream a=new FileInputStream("SEnc.dat");int num=a.available();byte[ ] ctext=new byte[num];a.read(ctext);FileInputStream f1=new FileInputStream("keykb1.dat");int num2=f1.available();byte[ ] keykb=new byte[num2];f1.read(keykb);SecretKeySpec e=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,"GB2312");System.out.print("解密中...\n");System.out.println(p);System.out.println("從客戶端接收到信息為:"+p);out.println(p);out.close();in.close();sc.close();} catch (Exception e) {System.out.println(e);}}}

    參考資料:

    • JAVA的網絡編程
    • Java學習筆記(第8版)
    • 《Java學習筆記(第8版)》學習指導

    轉載于:https://www.cnblogs.com/5315hejialei/p/5471396.html

    總結

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

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