<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dev@Free

    zJun's Tech Weblog

    [轉(zhuǎn)] 破解MySQL的MD5函數(shù)

    As per the documentation on MySQL I moved the storage of passwords from using Password() to using MD5(). I read a number of places that stated that this was a method that couldn't be reversed and it was far more secure than the previous method. I was feeling confident that life was about to get a little more secure. While going through my daily RSS feeds and mailing lists for SpikeSource , I happenned upon a thread about someone discussing how easy it was to break MD5 hashes. It was a simple matter of using a brute force algorithm to check all the different combinations.

    Eager to try this out for myself, I did a quick Google and found a Project RainbowCrack which was a Windows/Linux utility that would brute force crack MD5 hashes amongst other secure algorithms. Thinking it would be shrouded in mathematical terms and phrases unfamiliar to me I didn't hold out much hope that I could get it to do what I wanted; to take a sample of passwords that were stored in MySQL database tables using the MD5() function and crack them for me.

    The project builds a number of lookup tables to make the whole process a lot quicker. This in all fairness only took about 18hours to complete on my dual processor 3GHZ machine. After the tables where built it was a simple matter of running a simple command line utility to crack the MD5 hash. Time taken? 1.26seconds! That's how secure MySQL passwords encoded with MD5() are at this precise moment.

    Some sample output from RainbowCrack

    				e:\rainbowcrack-1.2-win>rcrack *.rt -h 7694f4a66316e53c8cdd9d9954bd611d
    md5_loweralpha#1-7_0_2100x8000000_all.rt:
    128000000 bytes read, disk access time: 6.23 s
    verifying the file...
    searching for 1 hash...
    plaintext of 7694f4a66316e53c8cdd9d9954bd611d is qlkjalkj
    cryptanalysis time: 1.52 s
    statistics
    -------------------------------------------------------
    plaintext found:          1 of 1 (100.00%)
    total disk access time:   6.23 s
    total cryptanalysis time: 1.52 s
    total chain walk step:    403651
    total false alarm:        388
    total chain walk step due to false alarm: 579374
    result
    -------------------------------------------------------
    7694f4a66316e53c8cdd9d9954bd611d  qlkjalkj  hex:71
    
    		

    So really, the only reason to store passwords using MD5() would be to discourage the casual hacker, but it is by no means a secure method as some sites would have you believe. It is fair to note that the RainbowCrack documentation states that salted MD5 hashes can't be broken, but MySQL doesn't salt their implementation so it makes no difference here.

    posted on 2007-01-17 16:22 zJun's帛羅閣 閱讀(2584) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    導(dǎo)航

    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    統(tǒng)計(jì)

    常用鏈接

    留言簿(15)

    隨筆分類

    隨筆檔案

    相冊(cè)

    收藏夾

    博客

    文檔

    站點(diǎn)

    論壇

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 无码的免费不卡毛片视频| 亚洲最大的成人网| 亚洲午夜免费视频| 精品香蕉在线观看免费| 久久精品国产亚洲av日韩| 9420免费高清在线视频| 91亚洲一区二区在线观看不卡| 日韩av无码久久精品免费| 亚洲精品高清视频| 国产成人精品免费视| 国产亚洲综合一区柠檬导航| www免费插插视频| 亚洲熟妇av一区二区三区| 免费91最新地址永久入口| 亚洲天天做日日做天天欢毛片| 在线免费中文字幕| 亚洲人精品亚洲人成在线| 日本不卡视频免费| 亚洲人成网站看在线播放| GOGOGO免费观看国语| 四虎永久免费影院在线| 亚洲性无码av在线| 久久青草国产免费观看| 亚洲欧洲久久av| 亚洲成人免费在线| 亚洲中文无码永久免费| 亚洲乱码中文字幕综合234| 日本视频在线观看永久免费| 亚洲国产美女精品久久久久| 国产午夜影视大全免费观看| g0g0人体全免费高清大胆视频| 亚洲宅男永久在线| 国产精品久免费的黄网站| 亚洲午夜无码毛片av久久京东热| 免费人成在线观看播放国产| 中文字幕日本人妻久久久免费| 亚洲综合国产一区二区三区| 1000部无遮挡拍拍拍免费视频观看| 亚洲啪AV永久无码精品放毛片| 国产成人毛片亚洲精品| 成年免费大片黄在线观看岛国 |