張源偉 黃恒一 李炯 付三麗
摘 要:結合辦公室服務器用戶信息管理,研究一種用PHP實現基于MD5與DES二重加密的遠程登錄驗證方法,防止信息在處理、存儲和應用過程中被竊取、篡改或破壞,其過程是通過由服務器端產生的惟一的隨機數,提供給客戶,客戶用該隨機碼當做密鑰將自己的個人信息通過MD5與DES的二重加密后的密文存到服務器數據庫中,實現了防止非注冊用戶得到服務器內數據庫用戶信息的目的。
關鍵詞:PHP; MD5; DES; Web服務器
中圖分類號:TN964?34 文獻標識碼:A 文章編號:1004?373X(2013)02?0080?03
加密的方法之一是用數學函數打亂信息編碼的處理過程,除特定的接收者之外,使其他人想得到原始信息具有難度。其設計核心是一個數學值,稱為“密鑰”,函數使用密鑰將信息打亂以達到加密目的。這種加密方法雖安全,但缺點是在創建安全連接的過程中,會話密鑰的副本通過傳輸的網絡可能不安全。為避免出現這種情況,Web服務器還需使用其他的加密方法 ,如MD5算法,DES算法。本文涉及到的MD5算法[1?3]是基于20世紀90年代初,由MIT Laboratory for Computer Science, RSA data Security Inc的Ronald L.Rivest開發的加密算法。MD5是單向加密,僅能進行加密操作而不能進行解密。使用此算法,相同信息經過單向加密后產生的加密信息相同,即兩次輸入同一信息時得到的加密信息也相同,基于此優點單向加密可用于用戶登錄密碼的加密操作。在PHP中使用MD5加密很方便,不需自行開發MD5算法函數,使用MD5( ) 的內部函數即可,對一般的加密已足夠。
另一種加密算法[4?5]。DES算法為密碼體制中的對稱密碼體制,后被選為美國數據加密標準,是1972年美國IBM公司研制的對稱密碼體制加密算法。在PHP中使用DES加密很簡單,在PHP5安裝目錄php.ini 文件中找到extension=php_mcrypt.dll改為:extension=php_mcrypt.dll即可使用該算法。本文重要結合以上兩種算法,提出一種在服務器端利用PHP對用戶的注冊時所用到的用戶信息進行MD5與DES二重加密的遠程登錄驗證方法探討。
參考文獻
[1] 張裔智,趙毅,湯小斌.MD5 算法研究[J].計算機科學,2008,35(7):295?297.
[2] 張浩華,齊維毅,趙子夫,等.基于 Java技術的 MD5 加密算法的設計與實現[J].沈陽師范大學學報:自然科學版,2009,27(1):75?77.
[3] 陳士偉,金晨輝.產生 MD5 碰撞的新的充分條件集[J].電子與信息學報,2009,31(3):740?744.
[4] 曹曉麗.基于DES的加密算法[J].電腦知識與技術,2011(2):295?296.
[5] 江波.分析DES算法的實現及改進過程[J]. 廊坊師范學院學報:自然科學版,2010(5):46?47.
[6] 楊明華.LAMP網站開發黃金組合Linux+Apache+PHP[M].北京:電子工業出版社,2008.
[7] GILMORE W J.PHP與PHP程序設計[M].朱濤江,譯.北京:人民郵電出版社,2009.
[8] 曹衍龍,趙斯思.PHP網絡編程技術與實例[M].北京:人民郵電出版社,2006.
[9] 錢紀初.基于DES的加密算法[J].福建電腦,2010(6):70?71.
[10] 楊波.現代密碼學[M].北京:清華大學出版社,2007.