Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static byte[] GenerateSalt()
- {
- var data = new byte[64];
- var rng = new RNGCryptoServiceProvider();
- rng.GetBytes(data);
- return data;
- }
- public static byte[] ComputeHash(string password, byte[] salt)
- {
- var salted = salt.Concat(Encoding.Default.GetBytes(password));
- using (var sha512 = SHA512.Create())
- {
- return sha512.ComputeHash(salted.ToArray());
- }
- }
- #region IUserRepository Members
- public bool ValidateUser(User user)
- {
- var userGet = context.Users.FirstOrDefault(x => x.Username == user.Username);
- if (userGet == null)
- return false;
- var hashedSalt = Convert.FromBase64String(userGet.PasswordSalt);
- var hashedPassword = Convert.ToBase64String(ComputeHash(user.PasswordHash, hashedSalt));
- if (userGet.PasswordHash.Equals(hashedPassword))
- return true;
- return false;
- }
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement