所以我想将自定义哈希添加到我的密码中,但由于我自己的验证而被卡住了
我的模特:
public class ms_user
{
[Required(ErrorMessage = "Please Input your Login Email")]
[DataType(DataType.EmailAddress)]
public object user_id { get; set; }
[Required(ErrorMessage = "Please Input your Password")]
// Validation at least 1 uppercase & 1 number, password lenght must be greater then 6 and lower then 12, with no Special Character
[RegularExpression(@"^(?=.*\d)(?=.*[A-Z])[a-zA-Z0-9](.{6,12})$", ErrorMessage = "Error, Wrong Password Format")]
public object password { get; set; }
}
样品:
密码输入: Admin123 //通过验证
HashedPassword输出: l92Vi3c2Af7Oftgy7JqYJKR8isYXef8pIOqvMzjrN6rnRct6W6UuDzv0YRCOudPPXnC69Gj2J4igXZWH1WRz9C19abN4UWKSqX8d0TxA + 0IvXJAvzoksaEWPQm56gy /升:9KZQeh3nB9apjy81V / FvfU // i之后散列我的密码,
我的项目通过了密码验证,但是在db.SaveChanges()上;它返回错误,因为密码验证
有什么解决方案吗?我不想添加javascript验证...
THX
答案 0 :(得分:0)
将“密码”数据类型列更改为“用户”表中的nvarchar(MAX),以容纳“哈希密码”。
答案 1 :(得分:0)
我遇到了同样的问题,因为我将数据库中的密码长度更新为nvarchar(max),但之后没有在visual studio中更新模型。所以更新模型,它应该解决这个问题。