예제 #1
0
        public void HieroglyphiesParams_Initialization_NotNull()
        {
            PasswordHasher.Init(salt_hieroglyphies, adler);
            string password = PasswordHasher.GetHash(hash_string);

            Assert.NotNull(password);
        }
예제 #2
0
        public void GetHashReturnsSameResultWithSameParameters()
        {
            string password = "******";
            string hashed   = PasswordHasher.GetHash(password);

            Assert.AreEqual(hashed, PasswordHasher.GetHash(password));
        }
예제 #3
0
        public void GetHashReturnsDifferentResultWithDifferentParameters()
        {
            string firstPassword  = "******";
            string secondPassword = "******";

            Assert.AreNotEqual(PasswordHasher.GetHash(firstPassword), PasswordHasher.GetHash(secondPassword));
        }
예제 #4
0
        public void PasswordHasherSaltCheck()
        {
            string hashed_1 = PasswordHasher.GetHash(_password, _salt);
            string hashed_2 = PasswordHasher.GetHash(_password, _salt);

            Assert.Equal(hashed_1, hashed_2);
        }
예제 #5
0
        public void TestInit_IfSalt_IsEmpty()
        {
            String a = PasswordHasher.GetHash(_password);

            PasswordHasher.Init("", 0);
            Assert.Equal(PasswordHasher.GetHash(_password), a);
        }
예제 #6
0
        public void HashLengthDifferentPasswords()
        {
            string password_1 = "12345";
            string password_2 = "123";

            Assert.Equal(PasswordHasher.GetHash(password_1).Length, PasswordHasher.GetHash(password_2).Length);
        }
예제 #7
0
        public void TestCase_GetHash_0_1_2_3_4_5()
        {
            string password = "******";

            Assert.IsNotNull(PasswordHasher.GetHash(password));
            Assert.AreEqual(PasswordHasher.GetHash(password).Length, 64);
        }
        public void AddCredentialsWithEmptyPasswordReturnsTrue()
        {
            string login    = "******";
            string password = "";

            Assert.IsTrue(authDatabaseUtils.AddCredentials(login, PasswordHasher.GetHash(password)));
        }
예제 #9
0
        public async Task <IActionResult> Login([FromBody] LoginMessage loginMessage)
        {
            var invalidLoginOrPasswordResult = BadRequest("Invalid login or password");

            if (loginMessage == null || String.IsNullOrEmpty(loginMessage.Login) || String.IsNullOrEmpty(loginMessage.Password))
            {
                return(invalidLoginOrPasswordResult);
            }

            UserAuthenticationInfo userAuthenticationInfo;

            using (var tx = _transactionManager.CreateTransaction())
            {
                userAuthenticationInfo = await _users.ByIdAsync(tx, loginMessage.Login, loginMessage.Login);
            }

            if (userAuthenticationInfo == null)
            {
                return(invalidLoginOrPasswordResult);
            }

            string receivedHash = _passwordHasher.GetHash(userAuthenticationInfo.PasswordSalt, loginMessage.Password);

            if (receivedHash != userAuthenticationInfo.PasswordHash)
            {
                return(invalidLoginOrPasswordResult);
            }

            string token = _jwtManager.GenerateToken(userAuthenticationInfo.Id);

            return(Ok(new { id = userAuthenticationInfo.Id, token = token }));
        }
        public void AddCyrillicCredentialsReturnsTrue()
        {
            string login    = "******";
            string password = "******";

            Assert.IsTrue(authDatabaseUtils.AddCredentials(login, PasswordHasher.GetHash(password)));
        }
        public void AddCredentialsWithSpeciaCharsReturnsTrue()
        {
            string login    = "******";
            string password = "******";

            Assert.IsTrue(authDatabaseUtils.AddCredentials(login, PasswordHasher.GetHash(password)));
        }
        public void AddLatinCredentialsReturnsTrue()
        {
            string login    = "******";
            string password = "******";

            Assert.IsTrue(authDatabaseUtils.AddCredentials(login, PasswordHasher.GetHash(password)));
        }
        public void CheckCredentialsNonExistentLoginTest()
        {
            string login    = "******";
            string password = "******";

            Assert.IsFalse(authDatabaseUtils.CheckCredentials(login, PasswordHasher.GetHash(password)));
        }
예제 #14
0
        public void MaximumLimitAdler_Initialization_NotNull()
        {
            PasswordHasher.Init(salt, uint.MaxValue);
            string password = PasswordHasher.GetHash(hash_string);

            Assert.NotNull(password);
        }
예제 #15
0
        public void DifferentPasswords()
        {
            string password_1 = "MyPassword_1";
            string password_2 = "MyPassword_2";

            Assert.NotEqual(PasswordHasher.GetHash(password_1), PasswordHasher.GetHash(password_2));
        }
예제 #16
0
            public void ExecRoute_0_1_2_4_6_NotEmptyAndZero_NotEqual()
            {
                SetDefaultValues();

                const string SALT      = "Some cool salt";
                const uint   ADLER_MOD = 0;

                try
                {
                    // Arrange
                    const string PASSWORD = "******";

                    string expected = PasswordHasher.GetHash(PASSWORD);

                    // Act
                    PasswordHasher.Init(SALT, ADLER_MOD);

                    string actual = PasswordHasher.GetHash(PASSWORD);

                    // Assert
                    Assert.NotEqual(actual, expected);
                }
                catch (OverflowException)
                {
                    Assert.False(true);
                }
            }
예제 #17
0
        public void LetterRegister()
        {
            string password_1 = "привіт!";
            string password_2 = "Привіт!";

            Assert.NotEqual(PasswordHasher.GetHash(password_1), PasswordHasher.GetHash(password_2));
        }
예제 #18
0
        public void DeleteCredentials()
        {
            Assert.True(authDatabaseUtils.AddCredentials("test3", PasswordHasher.GetHash("p3")));
            Assert.True(authDatabaseUtils.DeleteCredentials("test3", PasswordHasher.GetHash("p3")));

            Clear();
        }
예제 #19
0
        public static User[] Create(int ammount)
        {
            var users = new User[ammount];

            for (int i = 0; i < ammount; i++)
            {
                users[i] = new User()
                {
                    Id            = i + 1,
                    Name          = "TESTNAME" + i,
                    Surname       = "TESTSURNAME" + i,
                    Patronymic    = "TESTPATR" + i,
                    Passport      = "TESTPASSPORT" + i,
                    DriverLicense = "TESTDL" + i,
                    Registration  = "TESTINN" + i,
                    Phone         = "TESTPHONE" + i,
                    IsAdmin       = false,
                    Email         = "test" + i + "@mail.ru",
                    Password      = hasher.GetHash("Password")
                }
            }
            ;
            users.Last().IsAdmin = true;
            users.Last().Email   = "*****@*****.**";
            return(users);
        }
    }
예제 #20
0
        public void AddVeryLongHashCredentials()
        {
            Assert.True(authDatabaseUtils.AddCredentials("test4", PasswordHasher.GetHash("kjasfbsjanfkjasnfkjasnfkjnfkjdsanfkjasnkjfdnaksjfnkasnfkjdasnfkjasnkjfdnkjfnaskjfnakjsnfkjdanfkjsanfkjasnfkjsandfkjansdfkasnjnasdkjfnkasjdgnajknfkasdnfkjasnkandfkjasnfkjankjsdfnkjsdnjaklvn akljsvnalksjnklasdnkadjlnaksjfndklsjfnajknflaks")));
            Assert.True(authDatabaseUtils.CheckCredentials("test4", PasswordHasher.GetHash("kjasfbsjanfkjasnfkjasnfkjnfkjdsanfkjasnkjfdnaksjfnkasnfkjdasnfkjasnkjfdnkjfnaskjfnakjsnfkjdanfkjsanfkjasnfkjsandfkjansdfkasnjnasdkjfnkasjdgnajknfkasdnfkjasnkandfkjasnfkjankjsdfnkjsdnjaklvn akljsvnalksjnklasdnkadjlnaksjfndklsjfnajknflaks")));

            Clear();
        }
예제 #21
0
        public void TestCase_Init_0_2_3()
        {
            string password = "******";

            Assert.IsNotNull(PasswordHasher.GetHash(password, null, 42069));
            Assert.AreNotEqual(PasswordHasher.GetHash(password, null, 42069), PasswordHasher.GetHash(password, "nice", 42069));
        }
예제 #22
0
        public void AddCredentialsUtf8Chars()
        {
            Assert.True(authDatabaseUtils.AddCredentials("test11", PasswordHasher.GetHash("プログラミングが大好き")));
            Assert.True(authDatabaseUtils.CheckCredentials("test11", PasswordHasher.GetHash("プログラミングが大好き")));

            Clear();
        }
예제 #23
0
        private void TestGetHash1()
        {
            PasswordHasher.Init(_salt, _modAdler32);
            var expected = PasswordHasher.GetHash(_password, _salt, _modAdler32);

            Assert.Equal(PasswordHasher.GetHash(_password), expected);
        }
예제 #24
0
        public void AddCredentialsUtf32()
        {
            Assert.True(authDatabaseUtils.AddCredentials("test444", PasswordHasher.GetHash("⛢👩🏽‍🚒🌹🐂🖿🌀🏯")));
            Assert.True(authDatabaseUtils.CheckCredentials("test444", PasswordHasher.GetHash("⛢👩🏽‍🚒🌹🐂🖿🌀🏯")));

            Clear();
        }
예제 #25
0
        public void GetHashWithCorrectModAdler32()
        {
            uint   adler    = 32;
            string password = "******";

            Assert.NotNull(PasswordHasher.GetHash(password, null, adler));
        }
예제 #26
0
        public void AddCredentialsEmptyPassword()
        {
            Assert.True(authDatabaseUtils.AddCredentials("test11", PasswordHasher.GetHash("")));
            Assert.True(authDatabaseUtils.CheckCredentials("test11", PasswordHasher.GetHash("")));

            Clear();
        }
예제 #27
0
        public void GetHashReturnsDifferentHashForStringsInDifferentCases()
        {
            string lowerCasePassword = "******";
            string upperCasePassword = "******";

            Assert.AreNotEqual(PasswordHasher.GetHash(lowerCasePassword), PasswordHasher.GetHash(upperCasePassword));
        }
예제 #28
0
        public void IdenticalPasswords_2()
        {
            string password_1 = "MyPassword";
            string password_2 = "MyPassword";

            Assert.Equal(PasswordHasher.GetHash(password_1), PasswordHasher.GetHash(password_2));
        }
예제 #29
0
        public void TestWrite()
        {
            string hash = PasswordHasher.GetHash("sdf");
            string file = path + startFileName + "1.txt";

            Assert.True(BaseFileWorker.Write(hash, file));
        }
예제 #30
0
        public void SpecialParams_Initialization_NotNull()
        {
            PasswordHasher.Init(salt_special, adler);
            string password = PasswordHasher.GetHash(hash_string);

            Assert.NotNull(password);
        }