我只是用簡單的散列瞎搞,因爲我是新來的想法,我有以下幾點:sha1哈希不工作? C#
public string Password {get;set;}
public static string Hash(string password)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(password, "sha1");
}
public bool Authenticate(AccountDataContext context)
{
var password = context.UserAccounts.FirstOrDefault(p => p.UserAccountUID == UserAccountUID).Password;
var hash = Hash(Password);
return password.Equals(hash);
}
注:這不是生產代碼,所以我不擔心如何確保這一目前...
現在,當我最初哈希時,如以下
var password = "Password";
var hashedPassword = UserAccount.Hash(password)
用戶註冊之後我與用戶存儲密碼本。
當我對用戶進行身份驗證時,我會調用Authenticate()方法,並且我認爲它會返回相同的哈希,因爲它將相同的值傳遞給Hash()方法,但它們以不同的方式出現。
任何想法爲什麼Hash函數會爲同一個字符串返回兩個不同的哈希值?
甚至不知道該怎麼做...... – TheJediCowboy