MD5不可逆的加密


閑聊兩句MD5加密吧.多數的網站在記錄用戶密碼時都不會存儲明文密碼,而是通過MD5,SHA1等不可逆的算法,將密碼加密然后存儲起來.這樣即使數據庫被竊取,密碼也不會被人拿到.

說到這,必須要聲明一下,所有的不可逆加密都不是為了防止在客戶端暴力破解.而是防止黑客拿到密文后反推明文.例如,黑客有一張表(彩虹表),里邊存儲了大量常用密碼和常用密碼MD5后的

密文.如果黑客攻破了數據庫,拿到了密文可以輕而易舉的到彩虹表中對比,獲取明文密碼.所以只把明文MD5是不夠的.一般的不直接對明文密碼進行MD5而是生成一個隨機串(鹽)+密碼然后在MD5加密

最終將密文和鹽分別存到不同的表中.這樣,即使黑客拿到了用戶密碼表,如果沒有拿到鹽表,也無法反推明文.但若是兩個表都拿到了,他們就可以將彩虹表的密碼+鹽重新生成密碼表,這樣也

可以反推密碼.所以更安全的做法是,對鹽和密碼MD5后得到的密文再進行N次的MD5這樣得到的密文存儲數據庫.黑客不知道到底MD5了幾次,就無法反推明文了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM