public void TestSHA3IncorrectHash() { PBKDF2PasswordHashing sha3 = new PBKDF2PasswordHashing(new SHA3_256_Engine()); string passwordHash = sha3.GetSaltedPasswordHash("epic password yo"); Assert.IsFalse(sha3.VerifyPassword("epic password", passwordHash)); }
public void TestBlake2CorrectHash() { PBKDF2PasswordHashing blake2 = new PBKDF2PasswordHashing(new Blake2b_512_Engine()); string passwordHash = blake2.GetSaltedPasswordHash("this is my awesome password"); Assert.IsTrue(blake2.VerifyPassword("this is my awesome password", passwordHash)); }
public void TestDefaultEngine() { PBKDF2PasswordHashing defaultPBKDF2 = new PBKDF2PasswordHashing(); string passwordHash = defaultPBKDF2.GetSaltedPasswordHash("my password"); Assert.IsTrue(defaultPBKDF2.VerifyPassword("my password", passwordHash)); }
public void TestCustomHashingParams() { PBKDF2PasswordHashing defaultPBKDF2 = new PBKDF2PasswordHashing(); string passwordHash = defaultPBKDF2.GetSaltedPasswordHash("my password", 2500, 256, 512); Assert.IsTrue(defaultPBKDF2.VerifyPassword("my password", passwordHash, 2500, 256, 512)); }
public void TestDifferentPBKDF2Engines() { PBKDF2PasswordHashing blake2 = new PBKDF2PasswordHashing(new Blake2b_256_Engine()); PBKDF2PasswordHashing sha1 = new PBKDF2PasswordHashing(new SHA1_Engine()); string passwordHash = blake2.GetSaltedPasswordHash("password123"); Assert.IsFalse(sha1.VerifyPassword("password123", passwordHash)); }
/// <summary> /// Verifies a password. /// </summary> /// <param name="password"> The password to verify. </param> /// <returns> The current instance of WalletPasswordVerification. </returns> public WalletPasswordVerification VerifyPassword(byte[] password) { var saltedHash = hopeWalletInfoManager.GetWalletInfo((int)dynamicDataCache.GetData("walletnum")).EncryptedWalletData.PasswordHash; var pbkdf2 = new PBKDF2PasswordHashing(new Blake2b_512_Engine()); VerifyingPassword = true; onPasswordCorrect = null; onPasswordIncorrect = null; Observable.WhenAll(Observable.Start(() => password == null || password.Length == 0 ? false : pbkdf2.VerifyPassword(password, saltedHash))) .ObserveOnMainThread() .Subscribe(correctPass => { VerifyingPassword = false; if (!correctPass[0]) { PasswordIncorrect(); } else { PasswordCorrect(password); } }); return(this); }