作業(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 數據庫。