コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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);
            }
        }