20202330 2021-2022-1 《Java Socket程式設計》實驗四報告
# 20202316 2021-2022-1 《Java Socket程式設計》實驗四報告
課程:《程式設計與資料結構》
班級: 2023
姓名:金晨
學號:20202330
實驗教師:王志強
實驗日期:2021年10月23日
必修/選修: 必修
## 1.實驗內容
(一)Java Socket程式設計
1.學習藍墨雲上教材《Java和Android程式設計》“第16章 輸入/輸出 ”和“第22章 網路”,學習JavaSocket程式設計
2.結對程式設計。結對夥伴A編寫客戶端SocketClient.java,結對夥伴B編寫伺服器端。
3.截圖加學號水印上傳藍墨雲,程式碼push到碼雲,並撰寫實驗報告。
(二)Java和密碼學
參考
碼雲連結:https://gitee.com/rao-kun/src.git
以結對的方式完成Java密碼學相關內容的學習(帖子中所有程式碼和相關知識點需要學習)。提交學習成果碼雲連結和代表性成果截圖,要有學號水印。
(三)編寫有理數/複數計算器
結對程式設計,結對夥伴A編寫有理數計算器。結對夥伴B編寫複數計算器。截圖加水印上傳藍墨雲,程式碼push碼雲。
(四)遠端有理數計算器
結對程式設計,結對夥伴A程式設計實現客戶端,結果夥伴B實現伺服器端。
客戶端通過鍵盤輸入一個有理數計算的公式(例如:1/4 + 1/6 = ),並把該公式以字串的形式傳送給夥伴B(伺服器端),伺服器端根據字串計算出結果為5/12,並把結果返回給客戶端A,A收到結果後輸出結果。截圖加水印上傳藍墨雲,程式碼push碼雲。
(五)遠端複數計算器
結對程式設計,結對夥伴B程式設計實現客戶端,結果夥伴A實現伺服器端。
客戶端通過鍵盤輸入一個有理數計算的公式(例如:1/4 + 1/6 = ),並把該公式以字串的形式傳送給夥伴A(伺服器端),伺服器端根據字串計算出結果為5/12,並把結果返回給客戶端B,B收到結果後輸出結果。截圖加水印上傳藍墨雲,程式碼push碼雲。
注意實驗四(4)和實驗四(5),一個人不能僅實現客戶端,必須實現一個客戶端和伺服器,否則兩個實驗均不得分!!!
(六)實驗報告
在規定時間前發表部落格,標題“學號 實驗四 《資料結構與面向物件程式設計》實驗報告”
## 2. 實驗過程及結果
(一)Java Socket程式設計(二)Java和密碼學
1、凱撒密碼:
(1)加密: 輸入jin 8~輸出rqv
(2)解密:
輸入rqv-8 ~輸出jin
2、DES:
(1)生成金鑰: 3、RSA: (1)生成私鑰與公鑰 (2)利用公鑰加密 (3)利用私鑰解密4、使用金鑰協定建立共享金鑰(DH)
5、MD5
(三)編寫有理數/複數計算
複數計算機
編寫遠端計算機客戶端