先說一下程式密碼設計的規則:
1、後台資料庫直接儲存明文(現在基本上不存在了),這樣的公司後台資料庫一旦被黑,那麼所有的密碼都會外洩,損失非常大(例如中國最大it社群csdn 600w使用者密碼外洩,明文儲存密碼導致的嚴重後果),咱們使用者無論把密碼設定的多麼複雜都沒用,人家能實實在在的拿到你的密碼,這就是大多數人不理解密碼為什麼要設定那麼複雜了。
2、後台資料庫使用直接使用的md5、sha-256、sha-512等雜湊加密演算法。這樣即使資料庫被黑,攻擊者拿到密碼也無法知道你的密碼是什麼。但是也不是絕對安全的,比如彩虹表,一些簡單的密碼還是會被破解。
3、在上列演算法中採用固定字串加鹽,這種使用的比較多md5
(passwor
d+salt),但是這樣依然沒什麼用,攻擊者都可以拿到資料庫,同樣可以拿到源**,根據源**攻擊者很輕鬆的就可以構造新的彩虹表出來逆推密碼。
4、在上述演算法中採用隨機字元加密、動態加密,保證每個人的加鹽都不同,讓攻擊者沒辦法製作彩虹表,
比如math.random()方法隨機生成的小數,或者使用uuid,將鹽儲存到資料表中,這樣即使兩個使用者設定的密碼都是1,後台儲存的值也是天壤之別。
在了解程式的密碼設計規則之後我們來看看我們使用者改如何設定密碼來保證相對安全:
2、密碼設定的比較複雜,根據上面的加密規則來看就相對安全的很多,彩虹表雖然大可以按tb計算,但是如果很複雜還是跑不了那麼多。如果密碼+數字+標點組合十個長度的密碼絕大多數的彩虹表就破解不了了。所以密碼長度、複雜度能很大程度的影響攻擊者的破解難度。
4、如果你怕密碼忘記而會找個地方儲存下來,記得密碼多盡量使用物理備份,不要使用雲盤、網路日記等備份,同樣很容易被洩漏。
密碼安全是開發者們不斷致力於追求的目標,同時使用者也要注意儲存自己的密碼,盡量使密碼複雜化、分離化,密碼複雜有很大好處,對於破解者有很大難度。
註冊帳號時傳送驗證碼倒計時
菜鳥初嚐寫部落格,排版 內容不好望多多包涵 以下原始碼都是從我完整專案搬來,可能會不全,如有不對之處請見諒。新手小花點時間就好。老菜路過唄 原理 1.輸入手機號在本地判斷號是否合法 2.傳送到伺服器成功把返回驗證碼賦值給一常量,開啟個執行緒倒計時 public class registeractiv...
在小百合註冊了乙個帳號
南大的同學拿到心儀的offer,待遇比我好多了,呵呵,以後多了乙個可以借錢的主,高興 他不在長三角了,可能只有回mm家路過北京的時候才能找他蹭飯,呵呵。順便讓他給我在小百合註冊了乙個帳號。自從高校bbs管理嚴格後,我在小百合的號就不能再發文了。考慮到以後去南京,可以找南大的校友幫忙借個書什麼的,週末...
眾人評說《我們在微軟怎樣開發(英文版)》
本書相關資訊 這本書很好地兼顧了管理和技術兩個方面 內容涉及軟體建模 安全設計 防禦性程式設計等 應用書中提供的最佳實踐 可以令開發人員的軟體開發水平更上一層樓 john robbins 微軟技術大師,wintellect 創始人之一 本書超越了程式設計本身 提供了成功完成高質量軟體的大量實用知識 ...