密碼的競爭格局
回答
a-ZA-Z0-9過度受限。你應該讓我使用任何字符,執行最低要求(即至少8個字符,至少一個字母和一個數字)
至少有一個標點符號!但+1。 – 2012-01-05 16:38:10
@Iarsmans我通常會包括一個標點符號要求,是的,但是如果他提出的是對客戶來說可能過於嚴格的-ZA-Z0-9。 – ceejayoz 2012-01-05 16:42:28
我不知道'a-Z'是否按預期工作:) – 2012-01-05 16:46:50
應該有任何限制,用戶應該能夠使用什麼。由於在存儲密碼之前你會對密碼進行哈希(我希望),這對密碼包含的內容沒有任何影響。
如果您設置了要求,它們應該是最低要求。
最少8個字符,優選12
至少一個數位,至少一個下殼體,至少一個上的情況下,至少一個符號(* /%...)
我不認爲這些可以被視爲全球要求。不同的用例需要不同的最低要求。 – ceejayoz 2012-01-05 16:43:14
密碼正則表達式模式
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
擊穿
( # Start of group
(?=.*\d) # must contains one digit from 0-9
(?=.*[a-z]) # must contains one lowercase characters
(?=.*[A-Z]) # must contains one uppercase characters
(?=.*[@#$%]) # must contains one special symbols in the list "@#$%"
. # match anything with previous condition checking
{6,20} # length at least 6 characters and maximum of 20
) # End of group
相關:
永遠不要強制執行最大密碼長度。 – ceejayoz 2012-01-05 16:47:40
這只是一個例子,可以做什麼 – 2012-01-05 16:48:32
密碼熵
一個好的密碼的測試是不是字符集的代表,但熵數量。
熵測試: Dropbox的人已經把這個神奇的工具稱爲zxcvbn做到這一點。我會強烈推薦閱讀他們的write-up explaining it here。
簡要說明:因爲他們一起提高密碼的熵(長度做到這一點遠比雖然字符類更快),但用戶則傾向於兩個字符類(小寫,大寫字母,數字和特殊字符)和長度都很重要朝向降低熵的可預測模式。
這可能是幽默,但它有益說明了這一點的一部分: http://xkcd.com/936/
我覺得我最近在博客上看到過這個......最近lol :) – Skuld 2012-01-05 17:11:04
- 1. 競爭編碼算法
- 2. 競爭條件
- 3. 競爭條件
- 4. 競爭條件
- 5. JSON沒有給我競爭的格式,
- 6. 的競爭條件
- 7. ASP.NET競爭條件
- 8. WKWatchConnectivityRefreshBackgroundTask與WCSessionDelegate競爭
- 9. OpenMP競爭狀態?
- 10. 競爭消費者
- 11. find_or_create競爭條件
- 12. 什麼是競爭?
- 13. 這段代碼有競爭條件嗎?
- 14. 可能的競爭條件
- 15. EF競爭的SaveChanges()調用
- 16. 競爭狀態的例子
- 17. ActiveRecord的find_or_initialize_by競爭條件
- 18. xv6中的競爭條件
- 19. MySQL的競爭條件
- 20. $。每個.getJSON競爭條件?
- 21. libgd如何抵禦競爭?
- 22. 緩存和競爭條件
- 23. 並行Foreach競爭條件
- 24. javascript競爭條件問題
- 25. Monitor.TryEnter和Threading.Timer競爭條件
- 26. 數據庫競爭條件
- 27. 避免redis競爭條件
- 28. 多米諾骨牌 - 競爭
- 29. TCP端口競爭狀態?
- 30. 避免競爭條件
**沒關係,誤解的問題** - 什麼是密碼?你期望什麼類型的用戶?應該設置密碼要求以最好地爲使用密碼的人提供服務。我期望一個網上銀行的網站比我的論壇,例如更高的限制。 – Hecksa 2012-01-05 16:38:21
我希望能夠使用一個密碼,比如'EA @#@#Σåß∂'! - 不要把它標記爲不安全的,因爲它沒有一個' - ZA-Z0-9'。 – 2012-01-05 16:41:56
在正則表達式,行話說到:''/^[A-ZA-Z] [A-ZA-Z0-9 _ @#$%^&*()。] {10,25} $ /''你可以讓你的用戶創建一個以字母開頭的密碼,然後是一些可接受的字符,然後請求至少10個字符和最多25個字符 – Nonym 2012-01-05 16:44:52