我在c# 2008
中有一個web應用程序。c#2008中網站的密碼策略設置
我被分配了一個任務來設置該網站的密碼策略。
政策是
- 的第一個字符是大寫
- 的第2個字符是小寫
- 字符爲「特殊字符」
- 到8字符第四是隨機的數字
- 密碼正好爲8個字符
- 密碼應在6個月後過期
我無法弄清楚這一點。提前致謝。
我在c# 2008
中有一個web應用程序。c#2008中網站的密碼策略設置
我被分配了一個任務來設置該網站的密碼策略。
政策是
我無法弄清楚這一點。提前致謝。
這不是一個很好的做法,在這裏不要嘗試任何東西。這聽起來像是你想讓別人完成你的工作。我可以建議你應該這樣做,而不是提供代碼。
您可以使用正則表達式來實現。你可以搜索它。有很多資源。你應該建立一個正則表達式來檢查你想要的約束,除了密碼到期。您應該在數據庫上檢查密碼到期。您可以定義一項每半夜工作一次的作業,它將檢查密碼數據庫並檢測到期的密碼。
如果你想要做到「正確」並且正確,那就去正則表達式吧。如果您沒有任何經驗,請在緊急情況下忘記。
取而代之的是快速和骯髒的方式。這是未經測試的僞代碼:
if (password.Length == 8)
{
check password[0] for upper case
check password[1] for lower case
check password[2] for special char
check password[3] && password[7] for "random digits"
//return false, throw error, whatever you want in the case of any failures.
}
else
{
return error "your password is too short"
}
不知道你想要做什麼使密碼在6個月內過期。如果您將密碼視爲具有「到期日期」字段的自定義類,並且您只需要6個月,那麼只需使用MyPassword.ExpirationDate = DateTime.Now.AddMonths(6);
我嘗試了可用的正則表達式......但它們似乎不適用於我的要求..對於不具體的不便而造成的不便...正則表達式似乎不能解決我的目的。因爲我有固定的政策,因爲在第一個字符是帽和第二個較低的第三個必須是一個spl char ...正則表達式檢查字符串中的字符的隨機可用性,而不是順序...這是實際問題 – user1484252
你確定你在搜索它?只需2秒搜索谷歌帶給我這個結果:http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=79 –