MD5算法在通信系統(tǒng)客戶端方面的應(yīng)用

在微軟公司的 Microsoft. NET開發(fā)系統(tǒng)中,Microsoft. NET?SDK提供了 System. Security. Cryptography命名空間,其中包含 MD5 Cypto Service Provider類,在該類中提供專門用于 MD5單向數(shù)據(jù)加密的解決方法,我們即是使用此方法類來實現(xiàn) MD5加密。通過使用類中的方法 ComputeHash,可直接應(yīng)用MD5算法,經(jīng)過編程可以自定義加密函數(shù)來實現(xiàn)MD5的加密算法。

通信系統(tǒng)客戶端加密流程流程圖

(1)首先,用戶在注冊時,將用戶名利用 MD5算法加密,得到加密后的用戶名。然后再把用戶名和密碼串接,將串接后的值進行 MD5加密,得到加密后的口令文件。將加密后的用戶名和口令文件存儲在服務(wù)器端的數(shù)據(jù)庫中。

(2)客戶通過瀏覽器進行數(shù)據(jù)請求時,首先在瀏覽器端通過程序先將用戶名利用 MD5算法加密,得到加密后的用戶名。然后再把用戶名和密碼串接,將串接后的值進行 MD5加密,得到加密后的口令文件。將加密后得到的用戶名和口令文件及服務(wù)器端生成的隨機驗證碼數(shù)據(jù)發(fā)送到服務(wù)器端。

(3)用戶提交表單,服務(wù)器端進行驗證。

如果客戶端傳來的數(shù)據(jù)包中和服務(wù)器 (Server)端存儲的經(jīng)加密后的口令相同,并且隨機數(shù)的值也對應(yīng)相等,則服務(wù)器后向客戶端指定,可以讓客戶端重新定向到下一步的數(shù)據(jù)傳輸。如果對應(yīng)不能完成認證,剛提示用戶重新輸入相關(guān)信息。這樣,就完成了對用戶的身份認證過程。

實際應(yīng)用中,我們可以通過調(diào)用函數(shù),在客戶端對用戶名和用戶密碼進行加密,將得到的加密值傳送到服務(wù)器端,和服務(wù)器上存儲的加密后的值進行對比,得到服務(wù)器端返回結(jié)果,從而實現(xiàn)對信息傳輸過程中的保密。