ASP NET 4如何使用带有MinLength属性的DataType密码的数据注释?

0 c# asp.net validation data-annotations

public class ChangePasswordObject {

    [Required] [DataType(DataType.EmailAddress)]
    string email;
    [Required]
    string authorization_code;
    [Required] [DataType(DataType.Password)]
    string password;
}
Run Code Online (Sandbox Code Playgroud)

Cᴏʀ*_*ᴏʀʏ 6

应该像以下一样简单:

[Required] 
[DataType(DataType.Password)]
[StringLength(20, MinimumLength = 3)]
string password;
Run Code Online (Sandbox Code Playgroud)

第一个参数StringLength最大长度.


现在我的0.02美元:

如评论中所述,对密码字段提供最小和最大限制会向攻击者发出很多关于密码要求的信息,并且可以根据这些信息优化攻击.

另外,请注意存储和传递明文密码 - 您应该使用单向加密算法和随机盐尽快对其进行哈希处理.验证密码应使用已知的salt并比较生成的哈希值,对用户的输入重复加密.如果您使用纯文本密码而不是POST它,那么您可能需要重新考虑您的安全策略.