Java安全大作業(yè)

作業(yè)目的

在已掌握的 Java EE 技術的基礎上,將所學加密解密以及數字摘
要技術應用與 Java EE 開發(fā),加深對所學知識的理解。

作業(yè)內容

1、用戶注冊功能:開發(fā)用戶注冊功能,需要填寫的字段主要包
括:用戶名、密碼、公開秘鑰、非對稱密碼算法、數字摘要算法。
用戶注冊中所填寫的信息中的密碼使用 MD5 或 SHA 算法,轉換為數
字摘要后存儲到數據庫。
2、用戶登錄功能:用戶輸入用戶名和密碼登錄到系統,輸入的
密碼需要通過 MD5 或 SHA 算法轉換為數字摘要后,和存儲在數據庫
中的數字摘要進行比對,來判斷是否允許登錄。
3、獲取公鑰功能:在頁面中輸入學生 ID、點擊提交按鈕,將
ID 信息提交至服務器,提交至服務器后,在服務器中可以通過該學
生的 ID,獲取到該同學的公共秘鑰。
4、線下加密功能:獲取到公鑰信息后,通過 Java 程序對一段
明文進行加密。
5、提交加密信息:輸入學生 ID 及加密后的文本,點擊提交后
將加密后的信息保存至數據庫。
6、用戶登錄后:如果看到加密信息字段有值,那么該值會在用
戶界面中顯示,用戶通過線下的方式解密信息獲得明文。

注:

  • 數據庫中只需要一張用戶表:主鍵、用戶名、密碼、公鑰、
    加密后的信息、摘要算法(MD5/SHA)、加密算法(RSA)。在數據庫建
    表的時候注意公鑰和加密后信息的長度。
  • 密碼使用每位同學的學號,eg:張三同
    學學號為:1234567,那么他存儲到數據庫的密碼應該為:
    MD5(1234567)。
  • 在信息加密解密中兩位同學組成一組,a 同學輸入 b 同學的
    id,獲取 b 同學的公鑰信息,然后加密一段信息,將該信息存儲到 b
    同學的數據庫記錄中的加密后信息列。b 同學登錄后可以看到該加
    密信息,然后自己通過線下方式解密。b 同學通過輸入 a 同學的
    id,獲取 a 同學的公鑰,然后用公鑰對信息進行加密,加密后將信
    息存儲到數據庫,a 同學登錄后,如果數據庫中有加密的信息,a 同
    學可以看到加密的信息,并將信息進行解密。在作業(yè)中需要顯示你
    和哪位同學一組完成的該項工作。

截止時間

十六周周五

使用技術

基于 Java Web 開發(fā)技術完成
主要使用 HTML、Servlet、JDBC、Java 加密與解密、Java 數字摘要算法,使用 MySQL 數據庫。


代碼倉庫GitHub

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,388評論 25 708
  • 最近喜歡上了這個表情:小劉鴨,覺得它的表情呆萌,還帶著一點點“小邪惡”。那些“呵呵,哈哈,好的,晚安”都特別有意思...
    茉莉大大閱讀 599評論 0 0
  • 今天下午二寶給我們帶來驚喜——走路了!自主獨立的連續(xù)走且少摔跤。這是個驕傲的日子(2016.6.23),對二寶,也...
    好馨勤閱讀 223評論 1 0

友情鏈接更多精彩內容