generador_contraseña

 avatar
unknown
csharp
2 months ago
3.4 kB
9
Indexable
using System;

class Program
{
    static Random random = new Random();

    static string GenerarContraseña()
    {
        // Definir los diferentes tipos de caracteres en variables separadas
        string letrasMayusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        string letrasMinusculas = "abcdefghijklmnopqrstuvwxyz";
        string numeros = "0123456789";
        string caracteresEspeciales = "!@#$%^&*()_+-=[]{}|;:'\",.<>?/`~";

        // Combinar todos los tipos de caracteres en una sola cadena
        string todosLosCaracteres = letrasMayusculas + letrasMinusculas + numeros + caracteresEspeciales;

        // Crear una contraseña vacía
        string contraseñaGenerada = "";

        // Generar cada carácter de la contraseña de forma individual
        for (int i = 0; i < 12; i++)
        {
            // Escoger un número aleatorio entre 0 y la cantidad total de caracteres disponibles
            int indiceAleatorio = random.Next(todosLosCaracteres.Length);

            // Obtener el carácter aleatorio y agregarlo a la contraseña
            char caracterAleatorio = todosLosCaracteres[indiceAleatorio];

            // Concatenar el carácter a la contraseña generada
            contraseñaGenerada += caracterAleatorio;
        }

        // Devolver la contraseña generada
        return contraseñaGenerada;
    }

    static void Main()
    {
        bool continuar = true;

        while (continuar)
        {
            Console.WriteLine("\n=== Generador de Contraseñas Seguras ===");
            Console.WriteLine("1. Generar una contraseña");
            Console.WriteLine("2. Salir");
            Console.Write("Seleccione una opción (1 o 2): ");
            
            string opcion = Console.ReadLine();

            if (opcion == "1")
            {
                bool generarOtra = true;

                while (generarOtra)
                {
                    string nuevaContraseña = GenerarContraseña();
                    Console.WriteLine($"\nTu contraseña generada es: {nuevaContraseña}");

                    string repetir;
                    do
                    {
                        Console.Write("\n¿Deseas generar otra contraseña? (1 = Sí, 2 = No): ");
                        repetir = Console.ReadLine();

                        if (repetir == "2")
                        {
                            generarOtra = false;
                            continuar = false;
                            Console.WriteLine("\nGracias por usar el generador de contraseñas. ¡Hasta luego!");
                        }
                        else if (repetir != "1" && repetir != "2")
                        {
                            Console.WriteLine("\n⚠ Opción inválida. Por favor, selecciona 1 o 2.");
                        }

                    } while (repetir != "1" && repetir != "2"); // Se repite hasta que el usuario ingrese 1 o 2
                }
            }
            else if (opcion == "2")
            {
                continuar = false;
                Console.WriteLine("\nGracias por usar el generador de contraseñas. ¡Hasta luego!");
            }
            else
            {
                Console.WriteLine("\n⚠ Opción inválida. Por favor, selecciona 1 o 2.");
            }
        }
    }
}
Editor is loading...
Leave a Comment