Sistema De Inicio De Sesión Seguro Con Intentos Limitados En C#

Este programa en C# implementa un sistema de autenticación básico que solicita al usuario un nombre de usuario y una contraseña. El programa aplica una regla de seguridad permitiendo solo un número limitado de intentos de inicio de sesión.

Cómo funciona el programa:
1. Solicita al usuario que ingrese un nombre de usuario.
2. Solicita al usuario que ingrese una contraseña.
3. Si las credenciales son incorrectas, se informa al usuario y se le pide que lo intente de nuevo.
4. El usuario tiene un máximo de 5 intentos para ingresar las credenciales correctas.
5. Si el usuario excede los intentos permitidos, recibe un mensaje de rechazo y el programa finaliza.
6. Si el usuario ingresa las credenciales correctas antes de alcanzar los 5 intentos, se le concede el acceso.

Este programa demuestra el control de bucles, las sentencias condicionales y los principios básicos de seguridad en C#.



Grupo

Tipos de datos básicos de C#

Objectivo

Escriba un programa en C# que solicite al usuario su nombre de usuario y contraseña. Ambos deben ser cadenas. Tras 5 intentos incorrectos, el usuario será rechazado.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class Program
{
    static void Main()
    {
        // Correct credentials
        string correctUsername = "username";
        string correctPassword = "password";
        
        int maxAttempts = 5; // Maximum number of allowed attempts
        int attemptCount = 0; // Counter for attempts
        
        string enteredUsername, enteredPassword;

        while (attemptCount < maxAttempts)
        {
            // Prompt the user for username
            Console.Write("Enter your username: ");
            enteredUsername = Console.ReadLine();

            // Prompt the user for password
            Console.Write("Enter your password: ");
            enteredPassword = Console.ReadLine();

            // Check if the credentials match
            if (enteredUsername == correctUsername && enteredPassword == correctPassword)
            {
                Console.WriteLine("\nAccess granted. Welcome!");
                return; // Exit the program
            }
            else
            {
                attemptCount++;
                Console.WriteLine($"Incorrect username or password. Attempts left: {maxAttempts - attemptCount}\n");
            }
        }

        // If max attempts are reached
        Console.WriteLine("Too many failed attempts. Access denied.");
    }
}

 Output

//Example 1 (Incorrect Attempts Followed by Success):
Enter your username: admin
Enter your password: 1234
Incorrect username or password. Attempts left: 4

Enter your username: user
Enter your password: pass
Incorrect username or password. Attempts left: 3

Enter your username: username
Enter your password: password

Access granted. Welcome!

//Example 2 (Exceeding Maximum Attempts):
Enter your username: admin
Enter your password: 1234
Incorrect username or password. Attempts left: 4

Enter your username: user
Enter your password: pass
Incorrect username or password. Attempts left: 3

Enter your username: guest
Enter your password: 0000
Incorrect username or password. Attempts left: 2

Enter your username: test
Enter your password: abc
Incorrect username or password. Attempts left: 1

Enter your username: hacker
Enter your password: qwerty
Incorrect username or password. Attempts left: 0

Too many failed attempts. Access denied.

Comparte este ejercicio de C#

Practica más ejercicios C# de Tipos de datos básicos de C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..