Ejemplo n.º 1
0
        public bool Login(string userName, string password)
        {
            bool result = false;
            User u      = GetUserByUserName(userName);

            if (u != null)
            {
                byte[] typedPw = PasswordHelper.GenerateSaltedHash(StringUtils.GetByteArray(password), u.Salt); // eingegebenes pw beim login wird mit dem salt (der in der DB ist) gehasht
                result = PasswordHelper.CompareByteArrays(u.Password, typedPw);                                 // pw der datenbank (schon beim registrieren gesalthashed) wird mit dem jetzigen hash verglichen, falls gleich user eingeloggt
            }

            return(result);
        }
Ejemplo n.º 2
0
        private async void BtnIniciar_Click(object sender, EventArgs e)
        {
            if (txtUsuario.Text.Trim().Length > 0 && txtPassword.Text.Trim().Length > 0)
            {
                var usuario = await _usuarioRepository.GetUsuario(txtUsuario.Text.Trim().ToUpper());

                if (usuario.Usuario != null)
                {
                    var saltArray = Encoding.UTF8.GetBytes(Salt);
                    var passArray = Encoding.UTF8.GetBytes(txtPassword.Text.Trim());

                    var ContraArray = PasswordHelper.GenerateSaltedHash(passArray, saltArray);

                    var dbArray = Convert.FromBase64String(usuario.Password);

                    IsLogin = PasswordHelper.CompareByteArrays(dbArray, ContraArray);

                    if (IsLogin)
                    {
                        Nivel = usuario.Nivel;
                        this.Close();
                    }
                    else
                    {
                        MetroFramework.MetroMessageBox.Show(this, "Ingresar Contrase o Usuario valido", "Avertencia");
                        txtPassword.Text = "";
                        txtPassword.Focus();
                    }
                }
                else
                {
                    MetroFramework.MetroMessageBox.Show(this, "Ingresar Contrase o Usuario valido", "Avertencia");
                    txtPassword.Text = "";
                    txtPassword.Focus();
                }
            }
            else
            {
                MetroFramework.MetroMessageBox.Show(this, "Llenar los campos", "Aviso");
            }
        }