◆楊 懷 宋俊芳 王聰華
?
淺談MD5加密算法在網(wǎng)絡(luò)安全中的應(yīng)用
◆楊 懷 宋俊芳 王聰華
(西藏民族大學(xué)信息工程學(xué)院 陜西 712082)
隨著信息化和數(shù)字化社會的發(fā)展,人們對網(wǎng)絡(luò)信息安全和保密的重要性認識不斷提高,加密算法被廣泛應(yīng)用到WEB程序中。本文基于MD5算法理論,用ASP對MD5算法在WEB程序中的安全應(yīng)用進行了探討。
MD5;WEB程序;ASP
隨著信息化和數(shù)字化社會的發(fā)展,越來越多的互聯(lián)網(wǎng)站點被廣泛應(yīng)用到了各行各業(yè)之中,而使用這些網(wǎng)站的用戶信息的安全性更是受到了日益的重視。在保存和傳輸過程中的數(shù)據(jù)信息都面臨著數(shù)據(jù)庫被攻擊者獲取的威脅,因而數(shù)據(jù)信息的加密技術(shù)在此過程中顯得尤其重要。本文研究利用MD5算法原理加密用戶數(shù)據(jù)在WEB程序中的應(yīng)用,從而增強網(wǎng)絡(luò)安全的保密性和抗攻擊性。
MD5(message-digest algorithm 5)算法是一種被廣泛使用的密碼散列算法,可以產(chǎn)生出一個128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。MD5算法由羅納德·李維斯特設(shè)計,于1992年公開,用以替換MD4算法。這套算法的程序在 RFC 1321 中被加以規(guī)范。MD5算法是把任意長度的字符串(即明文)轉(zhuǎn)換為128位的二進制數(shù)(即密文)。這個轉(zhuǎn)換過程是單向的、不可逆的,也就是說MD5算法只能把明文轉(zhuǎn)換為密文,密文是沒有辦法解密得到明文的。同時,該算法也是具有唯一性的要求,即不同的明文加密得到的密文永遠是不同的,并且同一明文得到的密文永遠是不變的。
MD5算法的原理就是把任意的數(shù)據(jù)轉(zhuǎn)換為128位的二進制數(shù)。MD5算法首先對輸入的數(shù)據(jù)進行填充,使得填充后的數(shù)據(jù)為N*512位(其中N為正整數(shù)),即數(shù)據(jù)位長是512的整數(shù)倍。填充的方法是在數(shù)據(jù)的后面填充一個1和數(shù)個0,直到其位長滿足對512求余的結(jié)果是448為止,然后用一個64位的二進制數(shù)表示數(shù)據(jù)的原始長度,填充到數(shù)據(jù)后面。這樣,經(jīng)過填充,數(shù)據(jù)位長滿足512位的整數(shù)倍條件。
然后再對數(shù)據(jù)按照每組數(shù)據(jù)位長512進行分組處理。然后每個512長度的組再進行分組,分成16個小組,每個小組位長為36個字符。分組完成后,設(shè)置4個32位的鏈接變量,依次對每個512位長的小組進行4輪64步的一次性非線性函數(shù)運算。最后得到4個32位的數(shù)據(jù),最后得到的結(jié)果為4 位32 位值所級聯(lián)的128 位值,即32 位16 進制的MD5 碼。
本文以ASP程序為例探討MD5在WEB程序中的應(yīng)用, ASP是一個位于服務(wù)器端的腳本運行環(huán)境,通過將VB語言嵌入HTML中進行程序即網(wǎng)站后臺文件的編寫。以下探究MD5加密算法在ASP中的實際應(yīng)用。
本文所用WEB的加密方法是首先對用戶的密碼信息進行MD5算法加密,把密碼轉(zhuǎn)換成32位的16進制數(shù),利用ASP自帶MID函數(shù)截取加密后的數(shù)據(jù)從第4位到21位,然后保存到數(shù)據(jù)庫中,進而提高安全性。
用戶在網(wǎng)站注冊或者直接添加過程中,數(shù)據(jù)首先傳遞到加密程序,加密程序首先通過代碼“”引用包含自定義MD5函數(shù)的程序,即可直接調(diào)用MD5程序。然后使用MD5和MID函數(shù)“Admin_Pass =Mid(md5(Admin_Pass,32),4,18)”對密碼進行加密和截取,本文所用密碼為12345,MD5加密之后為“827ccb0eea8a706c4c34a16891f84e7b”,截取之后是“ccb0eea8a706c4c34a”,最后存放到數(shù)據(jù)庫中。如圖1所示。
圖1 加密后的數(shù)據(jù)在數(shù)據(jù)庫中的存放
在用戶信息保存好之后,用戶即可登錄,然后檢測程序調(diào)用MD5加密函數(shù),對用戶的密碼實施加密,把加密后的數(shù)據(jù)從第4位起截取18位裝載到數(shù)據(jù)庫中進行比對驗證,即可判斷是否為正確用戶,從而完成整個登錄過程。具體實現(xiàn)代碼如圖2所示。
圖2 驗證代碼
本文探究了MD5算法的相關(guān)原理,利用MD5加密算法進行了WEB程序設(shè)計,增強了數(shù)據(jù)在網(wǎng)絡(luò)信息中的安全性
[1]沈璇.MD5加密模式的差分故障分析[J].應(yīng)用科學(xué)學(xué)報, 2015.
[2]徐蕊.MD5加密算法的研究與應(yīng)用[J].中國新通信,2015.
[3]任杰麟.MD5加密算法的安全性分析與改進[J].農(nóng)業(yè)圖書情報學(xué)刊,2017.
[4]許杰,麻軍平,何虎等.基于VLIW DSP 加密與認證算法的實現(xiàn)[J]. Journal of Computer Applications,2013.
西藏民族大學(xué)校內(nèi)教改項目(2017355)。