MD5基本上目前還是比較通用的密碼保存方式,但是很容易通過一些工具直接把簡單的明文反出來。然後就改進,有了加鹽一說,加鹽之後確實極大地提升了密碼被反查出來的風險。今天又看到一種比較非主流的方法,那就是保存密碼MD5散列的前10位

Select Case Int(sType)
	  Case 0 '32位
        MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
	  Case 1 '16位
	    MD5=LCase(WordToHex(b) & WordToHex(c))
	  Case 2 '左10位
	    MD5=Left(LCase(WordToHex(b) & WordToHex(c)),10)
	End Select

這樣做的優點是:

  1. cmd5等線上反查工具目前完全無解。
  2. 暴力跑md5的程式基本也是無解,都是只支持16和32位的。
  3. 一般人破解起來代價比較高也麻煩。

缺點:

  1. 可能出現明文不同,密文相同的情況。
  2. 假如反查網站推出取md5的前多少位功能,那麼方法就無效了,不過查詢時間會延長,每次查詢要做一次split。
  3. 太過非主流,擴展性相容性不夠好

說實在的,假如碰到這種保存的資料庫,脫褲客們也只能大叫一聲fuck了吧,哈哈哈哈,以後可以考慮保存31位的或者30位的,非主流啊!好累啊,感覺不會再破了。

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料