我需要爲用戶密碼編寫一些驗證規則並滿足以下要求。 C#ASP.NET MVC。密碼驗證(正則表達式?)
密碼必須6 - 8個字符
,必須包括至少一個字符 每個從至少三個所述 以下類別:
- 大寫字母
- 下 - 字母
- 數字數字
- 非字母數字字符(如!@#$%...)
不得包含在共同 與用戶名的任何 的3個或更多字符序列
切不可 重複任何以前1個密碼
如果密碼是 認爲以任何方式
目前我已經使用寫了一堆真的很亂驗證規則受到損害必須改變,如果語句和循環(especiall Ÿ按用戶名部分順序排列的3個字符),它目前是功能性的,但它只是感覺它的錯誤。我可以採取更好的方法嗎?
謝謝
小心分享您以前的產品?審查你的正則表達式並使之更合適可能是教育性的。 – 2010-11-07 01:51:28
「不得重複任何以前的1個密碼」 - 無論您做什麼,都不要存儲舊密碼。存儲哈希和鹽,並且只比較哈希值。 – 2010-11-07 02:21:20
我明白下限。但爲什麼有一個上限? – Gumbo 2010-11-07 17:39:42