RECIENTES

Validación de contraseñas C# Console

Validación de contraseñas: Diseña un programa que valide la fortaleza de una contraseña ingresada por el usuario. Una contraseña se considera fuerte si cumple ciertas condiciones, como tener al menos 8 caracteres, incluir letras mayúsculas y minúsculas, números y caracteres especiales.




 
using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        Console.WriteLine("Ingrese una contraseña para validar su fortaleza:");
        string contraseña = Console.ReadLine();

        bool esFuerte = ValidarFortalezaContraseña(contraseña);

        if (esFuerte)
        {
            Console.WriteLine("La contraseña es fuerte. ¡Bien hecha!");
        }
        else
        {
            Console.WriteLine("La contraseña no es lo suficientemente fuerte. Intente mejorarla.");
        }

        Console.ReadKey();
    }

    static bool ValidarFortalezaContraseña(string contraseña)
    {
        // La contraseña debe tener al menos 8 caracteres
        if (contraseña.Length < 8)
        {
            return false;
        }

        // La contraseña debe contener al menos una letra mayúscula
        if (!Regex.IsMatch(contraseña, "[A-Z]"))
        {
            return false;
        }

        // La contraseña debe contener al menos una letra minúscula
        if (!Regex.IsMatch(contraseña, "[a-z]"))
        {
            return false;
        }

        // La contraseña debe contener al menos un número
        if (!Regex.IsMatch(contraseña, "[0-9]"))
        {
            return false;
        }

        // La contraseña debe contener al menos un carácter especial (p. ej. !@#$%^&*()-_=+[]{}|;:'\",.<>?/)
        if (!Regex.IsMatch(contraseña, "[!@#$%^&*()_\\-+=\\[\\]{}|;:'\",.<>?/]"))
        {
            return false;
        }

        // Si todas las condiciones se cumplen, la contraseña es fuerte
        return true;
    }
}

Explicación del código:

  1. Main: El programa inicia solicitando al usuario que ingrese una contraseña para validar su fortaleza. Luego, llama a la función ValidarFortalezaContraseña para determinar si la contraseña cumple con las condiciones de fortaleza.

  2. ValidarFortalezaContraseña: En este método, se implementan las condiciones para validar la fortaleza de la contraseña. Cada condición se verifica mediante expresiones regulares:

    • La contraseña debe tener al menos 8 caracteres (contraseña.Length < 8).
    • La contraseña debe contener al menos una letra mayúscula (Regex.IsMatch(contraseña, "[A-Z]")).
    • La contraseña debe contener al menos una letra minúscula (Regex.IsMatch(contraseña, "[a-z]")).
    • La contraseña debe contener al menos un número (Regex.IsMatch(contraseña, "[0-9]")).
    • La contraseña debe contener al menos un carácter especial (Regex.IsMatch(contraseña, "[!@#$%^&*()_\\-+=\\[\\]{}|;:'\",.<>?/]")).

    Si la contraseña cumple con todas las condiciones, se devuelve true, lo que indica que es una contraseña fuerte. De lo contrario, se devuelve false.

  3. Resultados: Después de validar la contraseña, el programa imprimirá un mensaje en la consola para informar al usuario si la contraseña es fuerte o no.

Ejemplo de ejecución:

Supongamos que el usuario ingresa la contraseña "MiContrasena123!".

El programa verificará si cumple con las condiciones de fortaleza:

  • La contraseña tiene más de 8 caracteres: Sí (cumple).
  • Contiene al menos una letra mayúscula: Sí (M).
  • Contiene al menos una letra minúscula: Sí (i).
  • Contiene al menos un número: Sí (1).
  • Contiene al menos un carácter especial: Sí (!).

En este caso, el programa mostrará el mensaje "La contraseña es fuerte. ¡Bien hecha!" en la consola.

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más