1、實驗報告封面
課程:Java程序設計 班級:1652班 姓名:蘇祚堃 學號:20165228html
指導教師:婁嘉鵬 實驗日期:2018年5月28日java
實驗時間:15:30 - 17:50 實驗序號:實驗五算法
實驗名稱:網絡編程與安全編程
實驗要求:數組
一、掌握Java Socket的相關內容;
二、學會創建客戶端與服務器端之間的聯繫;
三、學習並應用密碼學的相關內容
嚴禁抄襲,有該行爲者實驗成績歸零,並附加其餘懲罰措施。安全
2、實驗內容及步驟
提交點1:
要求:
兩人一組結對編程:服務器
- 參考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA
- 結對實現中綴表達式轉後綴表達式的功能 MyBC.java
- 結對實現從上面功能中獲取的表達式中實現後綴表達式求值的功能,調用MyDC.java
上傳測試代碼運行結果截圖和碼雲連接網絡
運行結果:


提交點2:
要求:
結對編程:1人負責客戶端,一人負責服務器學習
- 注意責任歸宿,要會經過測試證實本身沒有問題
- 基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
- 客戶端讓用戶輸入中綴表達式,而後把中綴表達式調用MyBC.java的功能轉化爲後綴表達式,把後綴表達式經過網絡發送給服務器
- 服務器接收到後綴表達式,調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
- 客戶端顯示服務器發送過來的結果
- 上傳測試結果截圖和碼雲連接
運行結果:

提交點3:
要求:
加密結對編程:1人負責客戶端,一人負責服務器測試
- 注意責任歸宿,要會經過測試證實本身沒有問題
- 基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
- 客戶端讓用戶輸入中綴表達式,而後把中綴表達式調用MyBC.java的功能轉化爲後綴表達式,把後綴表達式用3DES或AES算法加密後經過網絡把密文發送給服務器
- 服務器接收到後綴表達式表達式後,進行解密(和客戶端協商密鑰,能夠用數組保存),而後調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
- 客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲連接####步驟:
運行結果:

提交點4:
要求:
密鑰分發結對編程:1人負責客戶端,一人負責服務器
- 注意責任歸宿,要會經過測試證實本身沒有問題
- 基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
- 客戶端讓用戶輸入中綴表達式,而後把中綴表達式調用MyBC.java的功能轉化爲後綴表達式,把後綴表達式用3DES或AES算法加密經過網絡把密文發送給服務器
- 客戶端和服務器用DH算法進行3DES或AES算法的密鑰交換
- 服務器接收到後綴表達式表達式後,進行解密,而後調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
- 客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲連接
運行結果:

提交點5:
要求:
完整性校驗結對編程:1人負責客戶端,一人負責服務器
- 注意責任歸宿,要會經過測試證實本身沒有問題
- 基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
- 客戶端讓用戶輸入中綴表達式,而後把中綴表達式調用MyBC.java的功能轉化爲後綴表達式,把後綴表達式用3DES或AES算法加密經過網絡把密文和明文的MD5値發送給服務器
- 客戶端和服務器用DH算法進行3DES或AES算法的密鑰交換
- 服務器接收到後綴表達式表達式後,進行解密,解密後計算明文的MD5值,和客戶端傳來的MD5進行比較,一致則調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
- 客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲連接
運行結果:

3、遇到的問題和解決辦法