password salt

首先用戶名密碼以明文的方式存在數據庫是不可取的。算法

一旦數據庫被攻破就能直接獲取到你的信息,CSDN網站用戶密碼泄漏就是一個例子(傳送門)。數據庫

 

密碼必定要加密以後存數據庫,使用加密算法 (例如 md5)安全

這是一種比較正確的作法,可是簡單加密仍是可以經過一些手段來破解。例如 字典破解(Dictionary Attack)和暴力破解(Brute Force Attack)。簡單來講就是猜密碼,固然不是你本身猜,讓計算機來猜。網站

還有利用查表的方式直接查到你的密碼(若是你的密碼太簡單的話)加密

 

那麼相對比較安全的作法是用 鹽 (password salt)md5

什麼意思?就是在生成密碼hash值的以前,使用一個隨機字符串與用戶密碼拼接以後再進行散列,再存儲到數據庫。字符串

用戶登陸的時候拿到用戶輸入的密碼與salt拼接以後的散列值,再於數據庫存儲的散列值比較是否一致。get

採用這種方式加密密碼,查表法就不靈了(由於鹽是隨機生成的)。hash

加密的方式不止 md5, 還有如 sha-1 sha-256 等it

事實上 md5, sha-1 已經被證實存在安全漏洞,應避免使用。

相關文章
相關標籤/搜索