Я хранил значения соли и хеша пароля при регистрации пользователя ... Но при их входе в систему я затем солюю и хэширую пароль, данный пользователем, что происходит, когда получается новая соль и генерируется новый хэш ....
string password = collection["Password"];
reg.PasswordSalt = CreateSalt(6);
reg.PasswordHash = CreatePasswordHash(password, reg.PasswordSalt);
Эти заявления есть как при регистрации, так и при входе в систему ....
соль и хеш при регистрации был eVSJE84W
и 18DE22FED8C378DB7716B0E4B6C0BA54167315A2
При входе в систему это были 4YDIeARH
и 12E3C1F4F4CFE04EA973D7C65A09A78E2D80AAC7
..... Любое предложение ....
public static string CreateSalt(int size)
{
//Generate a cryptographic random number.
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buff = new byte[size];
rng.GetBytes(buff);
// Return a Base64 string representation of the random number.
return Convert.ToBase64String(buff);
}
public static string CreatePasswordHash(string pwd, string salt)
{
string saltAndPwd = String.Concat(pwd, salt);
string hashedPwd =
FormsAuthentication.HashPasswordForStoringInConfigFile(
saltAndPwd, "sha1");
return hashedPwd;
}