亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MD5加密算法的改進及應用

        2017-08-10 09:52:40趙素萍
        現(xiàn)代計算機 2017年15期
        關鍵詞:字符串加密算法解密

        趙素萍

        (山西農業(yè)大學信息學院信息工程系,晉中 030800)

        MD5加密算法的改進及應用

        趙素萍

        (山西農業(yè)大學信息學院信息工程系,晉中 030800)

        為了防止用戶信息泄漏,對比介紹MD5加密算法的基本原理,MD5加鹽加密算法,原始密碼打亂順序后加鹽加密并二次加密,并將該算法應用于項目開發(fā)的用戶信息保密方面。經(jīng)過解密工具的解密,發(fā)現(xiàn)該算法有絕對的優(yōu)越性。

        MD5;ASP.NET;加鹽加密;二次加密

        0 引言

        2011 年曾爆發(fā)的密碼泄漏事件,使得600余萬用戶的登錄信息以明文的方式被掛到網(wǎng)上,導致互聯(lián)網(wǎng)行業(yè)一片人心惶惶。由于大多數(shù)用戶將郵箱、微博、游戲、網(wǎng)上支付、購物等賬戶都設置了相同的密碼,那么一旦某一網(wǎng)站的服務器被黑客攻擊后,會導致用戶信息的泄露,更嚴重的是可能導致購物消費賬戶的信息泄漏而涉及到財產安全。

        同時,有些網(wǎng)友可能會從瀏覽器上搜“密碼庫”并下載。但是黑客已將該密碼庫文件與病毒綁到了一起,用戶一旦下載就可能將自己的電腦染上病毒,并有可能將此文件在網(wǎng)絡上大量的傳播開。

        由此可以看出,網(wǎng)站數(shù)據(jù)庫若明文保存密碼后,帶來的的后果是非常嚴重并不可預知的。

        1 MD5加密算法

        MD5(Message-Diggest Algorithm 5)算法[1],將輸入的明文數(shù)據(jù)數(shù)組加密以后,輸出密文數(shù)據(jù)數(shù)組[2]。從MD5的散列結果逆推出原文[3]是不可能的。所以MD5具有不可逆性和唯一性。

        原始密碼在該算法的加密之后也并不是絕對安全的。為了驗證破解速度,筆者下載MD5計算器并打開在線MD5解密網(wǎng)頁。驗證的步驟如下:

        第一步:在MD5計算器中計算出密碼“123456a”加密后的MD5值的字符串為“9cbf8a4dcb8e30682b927 f352d6559a0”,此字符串即為數(shù)據(jù)庫中保存的字符串。

        第二步:將加密后的字符串放到解密網(wǎng)頁進行解碼,而此密碼的解碼速度還不到兩秒鐘的時間,查詢結果如圖1所示。

        圖1 MD5計算后解密

        通過以上實驗可以看出,所謂道高一尺魔高一丈,加密和解密是不斷互相推進的過程,明文保存的破解引發(fā)了密碼泄漏事件,而密碼泄漏事件又引發(fā)了密碼加密保存,隨著加密保存的推出,網(wǎng)上又出現(xiàn)了相關的破解工具。解密算法有以下幾種:(1)通過窮舉法比對所有字母、數(shù)字以及特殊字符的組合情況,將字符串經(jīng)過MD5加密后再與數(shù)據(jù)庫中的MD5值進行比較;(2)將常見密碼與其MD5加密值保存到數(shù)據(jù)庫中,然后將MD5加密值進行一一比對,相同則將黑客數(shù)據(jù)庫中的原始密碼輸出。

        目前對于密碼的保護問題,一般采取的措施是建議用戶注冊時增加原始密碼的強度,即我們一般在注冊時會有密碼強度的提醒,如果密碼設置的過于簡單,還會時不時收到網(wǎng)站發(fā)來的郵件(建議用戶修改密碼以增加密碼強度)。用戶加強密碼的強度原則為,在原密碼的前面、中間或后面加上一些特殊的符號使密碼加長,增強密碼的安全性。從而增加黑客破解密碼的難度。

        由此可見,簡單的MD5加密并不能保證用戶信息的絕對安全。只是降低了黑客破解密碼的效率而已。如何在不增加密碼強度的基礎上也能保證用戶密碼的絕對安全呢,這將是本文研究的重點。

        2 MD5加密算法的改進

        為了進一步保護用戶的信息不被泄漏,故需要對MD5加密算法進行進一步的改進,以達到提升系統(tǒng)安全性的目的。

        在對用戶密碼進行MD5加密算法之前,先對用戶密碼進行加鹽設置,該算法的實現(xiàn)步驟如下:

        (1)程序開發(fā)人員或網(wǎng)站管理員設置一個鹽值,并將鹽值存儲到配置文件中;

        (2)當用戶需要注冊信息時,后臺獲取用戶輸入的密碼,將密碼與鹽值連接后,再經(jīng)過MD5加密,加密后的字符串作為密碼保存到數(shù)據(jù)庫中;

        (3)當用戶登錄時,后臺從網(wǎng)頁上取出用戶輸入的用戶名和密碼,并從配置文件中取出程序員設置好的鹽值,將用戶數(shù)據(jù)的密碼和鹽值連接后經(jīng)過MD5加密,若加密后的字符串與數(shù)據(jù)庫中的一致,則登錄正確;若不一致則用戶登錄失敗。

        通過以上算法,即使黑客攻擊了數(shù)據(jù)庫,將加密后的字符串破解后,得到的數(shù)據(jù)也不是正確的密碼。

        然而該算法并不具有絕對的安全性,因為黑客將數(shù)據(jù)庫攻擊后,該數(shù)據(jù)庫中所有用戶的密碼都使用了相同的鹽值,將一批密碼解碼后很容易發(fā)現(xiàn)規(guī)律。進而達到破解密碼的目的。所以簡單的加鹽加密也并不是絕對安全的。

        通過對加鹽加密存在潛在隱患的分析,可能很多讀者會想到,將鹽值設置為一個變化的值,那么黑客就發(fā)現(xiàn)不了規(guī)律了,筆者曾經(jīng)也看到過一篇論文,他的算法是系統(tǒng)產生一個隨機的字符串R,保存的字符串為將用戶輸入的字符串與隨機字符串R連接后進行加密,然而帶來的問題是,既然是隨機的,用戶注冊和登錄的隨機字符串必然不會相同,導致軟件無法實現(xiàn)登錄功能。唯一的解決辦法是用戶注冊時產生的隨機字符串R必須保存到數(shù)據(jù)庫中,將來用戶登錄時,后臺要從前臺取出用戶輸入的密碼和數(shù)據(jù)庫中存儲的隨機字符串R,連接后再進行加密。然而黑客既然已經(jīng)攻破了數(shù)據(jù)庫,那么這個隨機字符串黑客還是可以看到的。這相當于直接告訴了黑客每個用戶的鹽值。

        由此可見,不論是固定鹽值的加鹽加密算法,還是可變鹽值的加鹽加密算法,都是不安全的。不可否認,只要鹽值設置得當,加鹽加密算法還是具有較強的安全性的。為了加強對用戶信息保護,尤其是對用戶財產安全的保障,在加鹽加密算法的基礎上,還需要進一步對密碼進行加密保護。

        首先要設置相應復雜度的鹽值,將用戶輸入的密碼字符串的順序進行打亂,而打亂的方法很多,程序員在設計算法時可自行決定,本文的設計原理為將用戶密碼的前兩個字符截取后連接到剩下字符串的尾部,然后對打亂的字符串加鹽加密后,再經(jīng)過一次MD5的加密,該算法為:

        MD5(MD5(pwd.SubString(2)+pwd.SubString(0,2)+ salt))

        通過以上算法,即使黑客攻擊了數(shù)據(jù)庫,將加密后的字符串破解后,得到的數(shù)據(jù)也不是正確的密碼。

        3 改進MD5的應用

        在ASP.NET中對字符串的MD5加密:NETSDK通過計算哈希值的方法來為用戶輸入的信息進行加密。該實驗基于VS2010和SQL Server 2008平臺,使用C#編程語言,并使用MD5加密算法對用戶輸入的字符串進行了加密。代碼如下:

        其中strin為用戶輸入的密碼,salt為用戶設置的鹽值,即使黑客破解了該用戶的密碼,那么密碼也不是正確的密碼。

        4 結語

        通過增加用戶原始密碼的強度,對用戶原始密碼的字符串順序進行打亂,對打亂的字符串進行加鹽,對加鹽后的字符串進行多次加密[4]。可以保證數(shù)據(jù)的安全性,具有一定的參考價值。需要注意的是,經(jīng)過簡單MD5算法加密后的密文有可能對應多個明文,即簡單MD5加密算法具有碰撞性。而本文通過一系列的改進,不僅提高了原算法的安全性,同時也增強了密碼的抗碰撞性。

        [1]Rivest R.The MD5 Message-Digest Algorithm.RFC 1321,1992,4.

        [2]Homer A,Sussman D.ASP.Net高級編程[M].李敏波譯.北京:清華大學出版社,2005.

        [3]施衛(wèi)鋒,周俊.多戶住處系統(tǒng)中數(shù)據(jù)安全性控制及其實現(xiàn)[J].微機發(fā)展,2003(13):12-13.

        [4]孫永清,顧雨捷.基于動態(tài)注冊碼的軟件加密保護[J].計算機工程,2007,33(12):183-184

        Improvement and Application of MD5 Encryption Algorithm

        ZHAO Su-ping

        (Department of Information Engineering,College of Information,Shanxi Agricultural University,Jinzhong 030800)

        In order to protect user's information,introduces the basic principle of MD5 encryption algorithm,MD5 encryption algorithm with salt.Dis?turbs the order of the original password,then uses MD5 encryption algorithm with salt,and then secondary encryption,upsets the order and two salt encryption.Finally applies the algorithm to protect the customer's information of project development.After decryption tool,finds that the algorithm has the absolute superiority.

        趙素萍(1986-),女,山西太原人,碩士,助教,研究方向為網(wǎng)絡安全

        2017-03-14

        2017-05-20

        1007-1423(2017)15-0060-03

        10.3969/j.issn.1007-1423.2017.15.016

        MD5;ASP.NET;Add Salt to Encryption;Secondary Encryption

        猜你喜歡
        字符串加密算法解密
        解密“熱脹冷縮”
        解密“一包三改”
        少先隊活動(2020年9期)2020-12-17 06:17:31
        炫詞解密
        基于小波變換和混沌映射的圖像加密算法
        Hill加密算法的改進
        解密“大調解”
        一種新的基于對稱性的字符串相似性處理算法
        對稱加密算法RC5的架構設計與電路實現(xiàn)
        基于Arnold變換和Lorenz混沌系統(tǒng)的彩色圖像加密算法
        依據(jù)字符串匹配的中文分詞模型研究
        日韩高清在线观看永久| 成人自拍三级在线观看| 少妇爽到高潮免费视频| 韩国三级大全久久网站| 女人夜夜春高潮爽a∨片| 亚洲午夜久久久久中文字幕| 精品日本免费观看一区二区三区| 中文字幕亚洲一区二区不下| 粉嫩被粗大进进出出视频| 国内精品久久久影院| 网友自拍人妻一区二区三区三州| 免费精品人妻一区二区三区| 奇米影视7777久久精品| 国产av国片精品| 久久aⅴ无码av高潮AV喷| 在线观看一区二区三区在线观看 | 成全视频高清免费| 国产精品久久这里只有精品 | 免费日本一区二区三区视频| 欧美a级情欲片在线观看免费| 97人妻碰免费视频| 久久夜色精品亚洲天堂| 国产区女主播在线观看| 日韩精品一区二区三区免费视频| 亚洲另类欧美综合久久图片区| 久久午夜无码鲁丝片直播午夜精品 | 天美传媒精品1区2区3区| 手机看片福利盒子久久青| 国产一品二品三品精品久久| 亚洲国产精品高清一区| 色欲aⅴ亚洲情无码av| 精品国产一区二区三区久久久狼 | 91麻豆精品一区二区三区| 国产亚洲超级97免费视频| 久久久久亚洲av片无码v| 日韩久久久久中文字幕人妻| 久久综合五月天啪网亚洲精品 | 伊人五月亚洲综合在线| 国产欧美成人一区二区a片 | 亚洲精品乱码8久久久久久日本| 澳门毛片精品一区二区三区|