Exemple #1
0
        public void Must_produce_different_hashed_for_same_passwords()
        {
            // Arrange

            // Act

            var policy = new PasswordHashPolicy();
            var hash1  = policy.Apply(PASSWORD);
            var hash2  = policy.Apply(PASSWORD);

            // Assert

            Assert.AreNotEqual(hash1, hash2, "Хэши одинаковых паролей совпали: скорее всего, не используется соль");
        }
        private User CreateUser(RegistrationRequest request, string password)
        {
            var passwordHash = _passwordHashPolicy.Apply(password);

            var user = new User
            {
                Email        = request.Email,
                PasswordHash = passwordHash
            };

            return(user);
        }
Exemple #3
0
        public void Must_verify_password_by_hash()
        {
            // Arrange

            var policy = new PasswordHashPolicy();
            var hash   = policy.Apply(PASSWORD);

            // Act

            var result = policy.Check(PASSWORD, hash);

            // Assert

            Assert.IsTrue(result, "Не работает проверка по хэшу");
        }
Exemple #4
0
        public void Must_store_salt_with_hash()
        {
            // Arrannge

            // Act

            var policy = new PasswordHashPolicy();
            var hash   = policy.Apply(PASSWORD);

            // Assert

            var split = hash.Split(PasswordHashPolicy.DELIMITER);

            Assert.AreEqual(2, split.Length, "С хэшем не сохранилась соль");
            Assert.AreNotEqual(split[0], split[1], "Хэш совпадает с солью");
        }
Exemple #5
0
        public void Must_create_hash()
        {
            // Arrannge

            // Act

            var policy = new PasswordHashPolicy();
            var hash   = policy.Apply(PASSWORD);

            // Assert

            Assert.IsNotNull(hash, "Хэш не создался");
            Assert.AreNotEqual(PASSWORD, hash, "Вместо хэша вернулся пароль");
            var split = hash.Split(PasswordHashPolicy.DELIMITER);

            Assert.AreEqual(2, split.Length, "С хэшем не сохранилась соль");
        }