天天看點

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

20155229——實驗五 Java網絡程式設計及安全

實驗内容

實驗一:

兩人一組結對程式設計:

0. 參考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA

結對實作中綴表達式轉字尾表達式的功能 MyBC.java

結對實作從上面功能中擷取的表達式中實作字尾表達式求值的功能,調用MyDC.java

遇到的問題:

打開MyDC後public class MyDC這一行一直标紅,不管在哪個檔案下建立class都一樣,檢查代碼也沒有錯,後來發現是因為其他的檔案下存在同樣名字的class

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》
java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

解決的辦法是将其他的class删除,這樣要運作的MyDC就不會标紅和運作出錯了。

結果截圖

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

實驗二:

結對程式設計:1人負責用戶端,一人負責伺服器

0. 注意責任歸宿,要會通過測試證明自己沒有問題

基于Java Socket實作用戶端/伺服器功能,傳輸方式用TCP

用戶端讓使用者輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為字尾表達式,把字尾表達式通過網絡發送給伺服器

伺服器接收到字尾表達式,調用MyDC.java的功能計算字尾表達式的值,把結果發送給用戶端

用戶端顯示伺服器發送過來的結果

TCP

Socket類是Java執行用戶端TCP操作的基礎類,這個類本身使用代碼通過主機作業系統的本地TCP棧進行通信。Socket類的方法會建立和銷毀連接配接,設定各種Socket選項。

ServerSocket類是Java執行伺服器端操作的基礎類,該類運作于伺服器,監聽入站TCP連接配接,每個socket伺服器監聽伺服器的某個端口,當遠端主機的用戶端嘗試連接配接此端口時,伺服器就被喚醒,并傳回一個表示兩台主機之間socket的正常Socket對象。

TCP 構造函數

Socket s=new Socket("127.0.0.1", 10001);//建立一個流套接字并将其連接配接到指定主機上的指定端口号

ServerSocket ss=new ServerSocket(10001);//建立綁定到特定端口的伺服器套接字

服務端和用戶端的聯系

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

結果截圖

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

實驗三:

加密結對程式設計:1人負責用戶端,一人負責伺服器

0. 注意責任歸宿,要會通過測試證明自己沒有問題

基于Java Socket實作用戶端/伺服器功能,傳輸方式用TCP

用戶端讓使用者輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為字尾表達式,把字尾表達式用3DES或AES算法加密後通過網絡把密文發送給伺服器

伺服器接收到字尾表達式表達式後,進行解密(和用戶端協商密鑰,可以用數組儲存),然後調用MyDC.java的功能計算字尾表達式的值,把結果發送給用戶端

用戶端顯示伺服器發送過來的結果

結果截圖

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

實驗四:

密鑰分發結對程式設計:1人負責用戶端,一人負責伺服器

0. 注意責任歸宿,要會通過測試證明自己沒有問題

基于Java Socket實作用戶端/伺服器功能,傳輸方式用TCP

用戶端讓使用者輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為字尾表達式,把字尾表達式用3DES或AES算法加密通過網絡把密文發送給伺服器

用戶端和伺服器用DH算法進行3DES或AES算法的密鑰交換

伺服器接收到字尾表達式表達式後,進行解密,然後調用MyDC.java的功能計算字尾表達式的值,把結果發送給用戶端

用戶端顯示伺服器發送過來的結果

結果截圖

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

實驗五:

完整性校驗結對程式設計:1人負責用戶端,一人負責伺服器

0. 注意責任歸宿,要會通過測試證明自己沒有問題

基于Java Socket實作用戶端/伺服器功能,傳輸方式用TCP

用戶端讓使用者輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為字尾表達式,把字尾表達式用3DES或AES算法加密通過網絡把密文和明文的MD5値發送給伺服器

用戶端和伺服器用DH算法進行3DES或AES算法的密鑰交換

伺服器接收到字尾表達式表達式後,進行解密,解密後計算明文的MD5值,和用戶端傳來的MD5進行比較,一緻則調用MyDC.java的功能計算字尾表達式的值,把結果發送給用戶端

用戶端顯示伺服器發送過來的結果

結果截圖

java網絡安全_20155229——實驗五《 Java網絡程式設計及安全》

我的PSP時間

步驟

耗時

百分比

需求分析

40分鐘

14.81%

設計

40分鐘

14.81%

代碼實作

120分鐘

44.44%

測試

40分鐘

14.81%

分析總結

30分鐘

11.11%

參考資料