Example #1
0
        public static bool VerificarPoliticasContrasena(string contrasena, out int cantidadMinimaMayusculas, out int cantidadMinimaNumeros,
                                                        out int longitudMaxima, out int longitudMinima, out int cantidadMinimaEspeciales)
        {
            Dictionary <string, string> dPars = DParametros.TraerParametros(
                "SeguridadContrasena.CantidadMinimaEspeciales",
                "SeguridadContrasena.LongitudMaxima",
                "SeguridadContrasena.LongitudMinima",
                "SeguridadContrasena.CantidadMinimaNumeros",
                "SeguridadContrasena.CantidadMinimaMayusculas");

            cantidadMinimaEspeciales = Convert.ToInt32(dPars["SeguridadContrasena.CantidadMinimaEspeciales"]);
            cantidadMinimaMayusculas = Convert.ToInt32(dPars["SeguridadContrasena.CantidadMinimaMayusculas"]);
            cantidadMinimaNumeros    = Convert.ToInt32(dPars["SeguridadContrasena.CantidadMinimaNumeros"]);
            longitudMaxima           = Convert.ToInt32(dPars["SeguridadContrasena.LongitudMaxima"]);
            longitudMinima           = Convert.ToInt32(dPars["SeguridadContrasena.LongitudMinima"]);

            if (contrasena.Length < longitudMinima)
            {
                return(false);
            }
            else if (contrasena.Length > longitudMaxima)
            {
                return(false);
            }

            int contadorNumeros = 0, contadorMayusculas = 0, contadorEspeciales = 0;

            foreach (Char caracter in contrasena.ToCharArray())
            {
                if (char.IsDigit(caracter))
                {
                    contadorNumeros++;
                }
                else if (char.IsUpper(caracter))
                {
                    contadorMayusculas++;
                }
                if (!char.IsLetterOrDigit(caracter))
                {
                    contadorEspeciales++;
                }
            }
            if (contadorNumeros < cantidadMinimaNumeros || contadorMayusculas < cantidadMinimaMayusculas || contadorEspeciales < cantidadMinimaEspeciales)
            {
                return(false);
            }

            return(true);
        }
Example #2
0
        /******** VALOR/REGISTRO ÚNICO *********/



        /********** VARIOS REGISTROS ***********/
        public static Dictionary <string, string> TraerParametros(params string[] codigos)
        {
            return(DParametros.TraerParametros(codigos));
        }