コード例 #1
0
        private void BtnClickLogin(object sender, RoutedEventArgs e)
        {
            var userManager           = new UserManager();
            var masterPasswordManager = new MasterPasswordManager();
            var emailController       = new EmailController();

            var user = userManager.Retrieve(EmailTxtBox.Text);

            if (!emailController.IsEmailInUse(EmailTxtBox.Text))
            {
                MessageBox.Show("No Account exists with this email");
                return;
            }

            if (masterPasswordManager.CompareHash(Encoding.ASCII.GetBytes(PasswordTxtBox.Password), user.Id))
            {
                MainWindow main = new MainWindow(user.Id);
                _window.Visibility = Visibility.Hidden;
                main.Show();
            }
            else
            {
                MessageBox.Show("Failed to login");
            }
        }
コード例 #2
0
        public void ReturnsTrueIfTheHashMatches(string hash, bool expected)
        {
            var masterPasswordManager = new MasterPasswordManager();

            var actual = masterPasswordManager.CompareHash(Encoding.ASCII.GetBytes(hash), _testUser.Id);

            Assert.AreEqual(expected, actual);
        }
コード例 #3
0
        public void ReturnsTheCorrectHash(string password)
        {
            var masterPasswordManager = new MasterPasswordManager();
            var hash = Hash.GenerateHash(Encoding.ASCII.GetBytes(password), _testMPassword.Salt, _testMPassword.Iterations, 16);

            masterPasswordManager.CompareHash(Encoding.ASCII.GetBytes(password), _testUser.Id, out byte[] key);

            Assert.AreEqual(true, Hash.CompareHash(hash, key));
        }
コード例 #4
0
        private void BtnClickContinue(object sender, RoutedEventArgs e)
        {
            var masterPasswordManager = new MasterPasswordManager();

            if (masterPasswordManager.CompareHash(Encoding.ASCII.GetBytes(MPasswordTxtBox.Password), _userId, out byte[] key))