public void CheckPassword_UnsaltedPassword_Exception()
        {
            string          password = "******";
            IPasswordHasher subject  = new BCryptHasher();

            Assert.That(() => subject.CheckPassword(password, password), Throws.ArgumentException);
        }
        public void HashPassword_GeneratesSaltedPassword()
        {
            string          password = "******";
            IPasswordHasher subject  = new BCryptHasher();

            Assert.That(subject.HashPassword(password), Is.Not.EqualTo(password));
        }
        public void CheckPassword_AnotherSaltedPassword_False()
        {
            string          password = "******";
            IPasswordHasher subject  = new BCryptHasher();
            string          hashed   = subject.HashPassword("anotherPassword");

            Assert.That(subject.CheckPassword(password, hashed), Is.False);
        }
        public void TestThatHashVerifiesComplext()
        {
            var secret = "Thi$ isAM0re c*mplex+ S3CR37";
            var hasher = new BCryptHasher();
            var hashed = hasher.Hash(secret);

            Assert.True(hasher.Verify(secret, hashed));
        }
        public void TestThatHashVerifiesSimple()
        {
            var secret = "secret";
            var hasher = new BCryptHasher();
            var hashed = hasher.Hash(secret);

            Assert.True(hasher.Verify(secret, hashed));
        }
        public void CheckPassword_SameSaltedPassword_True()
        {
            string password = "******";

            IPasswordHasher subject = new BCryptHasher();
            string          hashed  = subject.HashPassword(password);

            Assert.That(subject.CheckPassword(password, hashed), Is.True);
        }
Beispiel #7
0
        public void HashTest()
        {
            var hasher = new BCryptHasher();

            var password       = "******";
            var hashedPassword = hasher.Hash(password);

            Assert.IsTrue(hasher.Verify(password, hashedPassword));
        }
        public async Task AddAsync(User user)
        {
            IHasher hasher = new BCryptHasher();

            user.Username = user.Username.ToLower();
            user.Email    = user.Email.ToLower();
            user.Password = hasher.HashPassword(user.Password);
            context.User.Add(user);
            await context.SaveChangesAsync();
        }
        public User ValidateUser(String username, String password)
        {
            User user = context.User.FirstOrDefault(
                u => u.Username.Equals(username.ToLower()) || u.Email.Equals(username.ToLower()));

            if (user != null)
            {
                IHasher hasher        = new BCryptHasher();
                bool    passwordValid = hasher.CheckPassword(password, user.Password);

                if (passwordValid)
                {
                    return(user);
                }
            }
            return(null);
        }