情景是这样的:密码以散列密码的形式返回到输入字段,
在这种情况下,1位用户不更新密码只返回当前散列密码
2否则用户更新他的/她的密码,然后散列新的密码,然后将其保存在数据库中。
所以如何检查返回的密码,如果哈希或不?检查输入的密码是否被散列
代码:
public int UpdatePrivilege(User user, int changerId, string pwd)
{
if (user.pwd == pwd) //how to check if hashed or not.
{
user.pwd = _Md5Hash(user.pwd);
}
return dalc.Update(user, changerId);
}
其次,可以说用户不更新密码不旧密码将保持,因为它是保存过程后?
但我不明白链接的答案如何解决OP的问题。如果用户输入一个像7A34FE这样的新密码,其他答案的正则表达式会告诉他它已经被散列。您必须跟踪用户是通过输入字段的“TextChanged”事件更改密码还是将输入字段中的最终文本与您之前输入的散列值进行比较。 –