private bool valida() { if (txtPswActual.Text == "") { MessageBox.Show("Escriba su contraseña actual", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (txtPwsNueva.Text == "") { MessageBox.Show("Escriba la nueva contraseña", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (txtPswConfirmacion.Text == "") { MessageBox.Show("Escriba la confirmacion de la contraseña", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (txtPwsNueva.Text != txtPswConfirmacion.Text) { MessageBox.Show("La nueva contraseña y su confirmacion deben ser iguales", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (!Regex.IsMatch(txtPwsNueva.Text, @"(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$")) { MessageBox.Show("La contraseña debe : \n\t Contener al menos una letra mayúscula. \n\t Contener al menos una letra minúscula. \n\t Contener al menos un número o caracter especial. \n\t Tener una longitud mínima de 8 caracteres.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } int intResult; LnSistema objLnSistema = new LnSistema(ModUsuario.SessionObjEnDatosConn); intResult = objLnSistema.ValidaHistorialPsw(ModUsuario.SessionIdUsuario, new ClsFunciones().GetMD5Hash(txtPwsNueva.Text)); if (intResult == 1) { MessageBox.Show("La contraseña ha sido establecida anteriormente, por favor defina una nueva contraseña", "Contraseña en histórico", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } return(true); }