存储密码哈希,密码长度只能为30个字符

时间:2014-12-08 02:32:58

标签: c# asp.net asp.net-mvc entity-framework validation

我有一个包含密码字段的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) } }

但这会触发异常。

我怎样才能将哈希值存储在数据库中?

0 个答案:

没有答案