に Web アプリケーションがありc# 2008
ます。
この Web サイトのパスワード ポリシーを設定するタスクが割り当てられています。
ポリシーは
- 1文字目は大文字
- 2文字目は小文字
- キャラは「特殊キャラ」
- 4~8文字目は乱数
- パスワードは正確に 8 文字です
- パスワードの有効期限は 6 か月です
私はこれを理解することができません。前もって感謝します。
「正しく」正確に実行したい場合は、正規表現を使用してください。それらの経験がない場合は、緊急の場合は忘れてください。
代わりに、迅速で汚い方法を使用してください。これはテストされていない疑似コードです:
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); を使用します。
何も試さずにここで尋ねるのは良い習慣ではありません。自分の仕事を他人に任せようとしているようです。コードを提供する代わりに、あなたがすべき方法を提案できます。
正規表現を使用してそれを行うことができます。検索できます。多くのリソースがあります。パスワードの有効期限を除いて、必要な制約をチェックする正規表現を作成する必要があります。データベースのパスワードの有効期限を確認する必要があります。パスワード データベースをチェックし、有効期限が切れるパスワードを検出する、毎深夜に動作するジョブを定義できます。