情景是這樣的:密碼以散列密碼的形式返回到輸入字段,
在這種情況下,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」事件更改密碼還是將輸入字段中的最終文本與您之前輸入的散列值進行比較。 –