public void RegisterUserSecurely(string userName, string password) { using (var userContext = new UserContext()) { var hash = new PasswordHashingProvider(password); var hashBytes = hash.ToArray(); var savedPasswordHash = Convert.ToBase64String(hashBytes); userContext.Users.Add(new User { UserName = userName, Password = savedPasswordHash, AddedAt = DateTime.UtcNow }); userContext.SaveChanges(); } }
private static User TryGetConfirmedUserCredentials(string username, string password) { using (var userContext = new UserContext()) { var user = userContext.Users.SingleOrDefault(x => x.UserName == username); if (user != null) { var savedPasswordHash = user.Password; var hashBytes = Convert.FromBase64String(savedPasswordHash); var hashingProvider = new PasswordHashingProvider(hashBytes); if (hashingProvider.Verify(password)) { return(user); } } return(null); } }