網絡安全-如何提升密碼的安全性

在系統中咱們一般將密碼用不可逆的單向加密算法(MD五、SHA、HMAC、CRC)加密後存儲起來,可是這樣就真的安全了嗎?答案是否認的。理論上這些密文都是能夠破解的,並且隨着如今計算機的運算能力愈來愈強大,破解的成本已經大大下降了,不少6位簡單的密碼破解時間不超過1分鐘。目前常見的破解方法有:算法

數據字典法:這個也是破解網站經常使用的方法,就是它的數據庫裏記錄了不少[密文+明文]的映射表,你輸入密文後它去數據庫裏查找對應的明文。
窮舉法:這個就是寫一個for循環,列舉一個明文將它加密,而後用密文去比較,若是同樣就被破解了,破解的時間主要依賴於計算機的運算能力。
碰撞法:2004年,中國山東大學教授王小云證實MD5數字簽名算法可能被快速生成「碰撞」。這裏解釋一下[碰撞]:就是兩個不一樣的輸入得出同樣的輸出即同一個MD5值,這種狀況稱爲碰撞。因此網上流傳的王小云破解了MD5算法的說法是不許確的,她並不能直接將密文破解爲明文,而只是找到了更快的算法來獲得[碰撞]。數據庫

怎麼樣才能讓密碼更加安全不被輕易的破解呢,咱們只能根據上述的[破解方法]找應對之策:安全

不要使用簡單和有規律的密碼:例如12三、admin、admin123等這些,很容易被數據字典法和窮舉法破解。越複雜的密碼破解的成本就越高。
加鹽:在密碼學中,是指經過在密碼任意固定位置插入特定的字符串,讓散列後的結果和使用原始密碼的散列結果不相符,這種過程稱之爲[加鹽]。這樣即便密碼被破解了也不是原始內容,下降了獲取原始密碼的機率,除非別人知道你加鹽的規則。例如咱們想要加密 [sunwill] 字符串,加密以後是[9cabe466adf213fcbf72e08cfcc4e8e0],對字符串進行加鹽處理獲得[sunabcwill],其中[abc]就是鹽,加密以後獲得[8d576b21176ce6507919d8231a93115e]。
屢次加密:對密碼進行屢次加密處理,例如:md5(md5(‘sunwill‘))獲得[fc7521f6bb522602b0cd0df7d57d705b],這樣會增長破解的複雜度。網站

相關文章
相關標籤/搜索