Advertisement
Guest User

Untitled

a guest
Jun 15th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.88 KB | None | 0 0
  1. public static byte[] GenerateSalt()
  2. {
  3.     var data = new byte[64];
  4.     var rng = new RNGCryptoServiceProvider();
  5.  
  6.     rng.GetBytes(data);
  7.  
  8.     return data;
  9. }
  10.  
  11. public static byte[] ComputeHash(string password, byte[] salt)
  12. {
  13.     var salted = salt.Concat(Encoding.Default.GetBytes(password));
  14.     using (var sha512 = SHA512.Create())
  15.     {
  16.         return sha512.ComputeHash(salted.ToArray());
  17.     }
  18. }
  19.  
  20. #region IUserRepository Members
  21.  
  22. public bool ValidateUser(User user)
  23. {
  24.     var userGet = context.Users.FirstOrDefault(x => x.Username == user.Username);
  25.     if (userGet == null)
  26.         return false;
  27.  
  28.     var hashedSalt = Convert.FromBase64String(userGet.PasswordSalt);
  29.     var hashedPassword = Convert.ToBase64String(ComputeHash(user.PasswordHash, hashedSalt));
  30.  
  31.     if (userGet.PasswordHash.Equals(hashedPassword))
  32.         return true;
  33.  
  34.     return false;
  35. }
  36.  
  37. #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement