標籤:
一、實驗內容
Cmp傳輸與加解密
結對程式設計,一人伺服器,一人用戶端,伺服器向用戶端發送經RSA加密的密鑰和用祕密金鑰加密的密文(使用DES演算法),用戶端負責接收加密後的密鑰和密文,並解密得出明文。
二、實驗過程
1. 先運行教材上TCP代碼,一人伺服器,一人用戶端。
2.下載加解密代碼,先編譯運行代碼,一人加密一人解密。
3.整合代碼,一人加密後通過TCP發送,加密使用AES或DES。AES或DES加密金鑰Key的發送,使用伺服器的公開金鑰加密,公開金鑰演算法用RSA或DH,發送資訊的完整性驗證使用MD5或SHA3。
4.使用實驗樓git服務Managed 程式碼
5.完成3後找老師驗收,寫blog。
在本次結對程式設計中,我負責的是用戶端,解密發送過來的密文,具體實驗過程如下:
1.接收伺服器發送過來的用RSA加密的密鑰
2.用RSA公開金鑰進行解密得到原始密鑰。
3.接收伺服器發送過來的密文。
4.使用金鑰組密文進行解密
5.最後得出解密後的結果
三、遇到的問題及解決方案
1.運行時報錯:找不到keys.txt檔案。解決方案:將keys.txt檔案放到src檔案夾外,。
2.連接埠號碼和IP地址不匹配導致串連失敗
四、實驗總結與感想
本次實驗難度較大,因為是結對程式設計,我的隊友20135203齊嶽負責伺服器,發送加密檔案。而我負責用戶端,接收並解密檔案。本次實驗中我們使用了
現成的DES和RSA演算法,但是由於剛開始編寫程式時對於加密金鑰的來源和位置沒有理解透徹,以至於之後程式的運行中總是報錯。之後調整了我們的IP
地址和連接埠號碼,以及keys.txt檔案的位置後,我們終於得出了理想的成果。這是本學期最後一次java實驗,我通過動手實驗加深了對於java編程的理解,
也意識到還需不斷努力、不斷提高。最後,感謝婁老師的悉心教導!
五、結對程式設計隊員的部落格地址:http://www.cnblogs.com/July0207/
java實驗五實驗報告