我有一个包含密码字段的Person
类,如下所示:
[Required]
[DataType(DataType.Password)]
[StringLength(30, ErrorMessage = "Password must be between 6 and 30 characters long.", MinimumLength = 6)]
public string Password { get; set; }
我需要将此密码的哈希值存储在数据库中,除非我将密码值更改为自身的哈希值,然后它会触发验证并抛出DbEntityValidationException
,因为它超过30个字符。
我知道我不能限制长度,我很乐意这样做,但这是我没有说过的要求之一。
我试过这个:
private string _Password;
public string Password { get { return _Password } set { _Password = PasswordHasher.HashPassword(value) } }
但这会触发异常。
我怎样才能将哈希值存储在数据库中?