密碼的競爭格局
回答
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. 競爭條件
- 6. 競爭條件
- 7. 競爭條件
- 8. 競爭條件
- 9. JSON沒有給我競爭的格式,
- 10. 競爭對手的asp.net會員資格?
- 11. 的競爭條件
- 12. 連續代碼中的數據競爭
- 13. 競爭消費者
- 14. ASP.NET競爭條件
- 15. 什麼是競爭?
- 16. NSNotification競爭條件
- 17. OpenMP競爭狀態?
- 18. WKWatchConnectivityRefreshBackgroundTask與WCSessionDelegate競爭
- 19. Process.HasExited競爭條件
- 20. find_or_create競爭條件
- 21. 這段代碼有競爭條件嗎?
- 22. 多線程(並行線程)競爭碼
- 23. 代碼會產生競爭狀態嗎?
- 24. 數據競爭示例和數據競爭檢測示例
- 25. Stata競爭風險消退 - stset和競爭失敗
- 26. 如何從div競爭中刪除競爭?
- 27. cque任務線程與競爭競爭條件
- 28. 可能的競爭條件
- 29. 的Javascript AJAX競爭條件
- 30. xv6中的競爭條件
**沒關係,誤解的問題** - 什麼是密碼?你期望什麼類型的用戶?應該設置密碼要求以最好地爲使用密碼的人提供服務。我期望一個網上銀行的網站比我的論壇,例如更高的限制。 – 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