Exemple #1
0
        public void HashPasswordTest()
        {
            const string password = "******";

            var hasher = new Argon2idHasher();

            var hash1 = hasher.HashFromPassword(password);
            var hash2 = hasher.HashFromPassword(password);

            Assert.IsNotEmpty(hash1);
            Assert.IsNotEmpty(hash2);
            Assert.AreNotEqual(hash1, hash2);

            Assert.Throws <ArgumentException>(() => hasher.HashFromPassword(""));
            Assert.Throws <ArgumentNullException>(() => hasher.HashFromPassword(null));
        }
Exemple #2
0
        public void CompareHashAndPasswordTest()
        {
            const string password      = "******";
            const string wrongPassword = "******";

            var hasher = new Argon2idHasher();

            var hash = hasher.HashFromPassword(password);

            Assert.IsTrue(hasher.CompareHashAndPassword(hash, password));
            Assert.IsFalse(hasher.CompareHashAndPassword(hash, wrongPassword));

            Assert.Throws <ArgumentException>(() =>
                                              hasher.CompareHashAndPassword(hash, ""));
            Assert.Throws <ArgumentException>(() =>
                                              hasher.CompareHashAndPassword("", password));
            Assert.Throws <ArgumentNullException>(() =>
                                                  hasher.CompareHashAndPassword(hash, null));
            Assert.Throws <ArgumentNullException>(() =>
                                                  hasher.CompareHashAndPassword(null, hash));
        }