Validar contraseña en C

En este ejercicio de programación en C vamos a ver cómo validar una contraseña, revisando que la misma cumpla con lo siguiente:

  1. La longitud de la contraseña debe medir entre 8 y 12 caracteres
  2. Debe contener al menos una letra y un número

Verás que podremos validar la seguridad de la contraseña muy fácil usando ANSI C.

Explicación del algoritmo

Para ver si la contraseña tiene al menos un número y al menos una letra vamos a crear 2 funciones ayudantes que nos dirán justamente eso.

Dentro de esas funciones vamos a recorrer la contraseña letra por letra y comprobar si la letra actual (dentro del ciclo) es letra o es un número, dependiendo de la función. Para ello usaremos isalpha y la función isdigit.

Basta con que encontremos el número o letra para que la función se detenga, pero si acaba de recorrer la cadena y no se detuvo porque no encontró lo buscado entonces la misma regresará false.

Finalmente ya dentro de la función que valida la contraseña en C vamos a llamar a esas funciones y además comprobar si la longitud de la contraseña está entre 8 y 12.

Saber si contiene al menos una letra y un número

Veamos a continuación los siguientes métodos programados con C:

En este caso las funciones son muy parecidas pero uno comprueba con isalpha y otro con isdigit.

Como ya dije anteriormente, esto es para saber si la cadena tiene al menos una letra y para saber si la misma tiene un número, respectivamente.

Validar contraseña con C

Y ahora veamos la función que hace todo el trabajo y usa las 2 funciones anteriores. Cabe recalcar que esta función devolverá un booleano indicando si la contraseña es o no válida.

Lo primero que hacemos es comprobar la longitud de la cadena. Yo lo hago con strlen pero tú puedes calcular la longitud manualmente.

Después, si no contiene al menos una letra o no contiene al menos un número, regresamos false (0).

Finalmente si pasó las validaciones anteriores regresamos un 1 (true), es decir, un verdadero.

Poniendo todo junto

El código completo junto con algunos ejemplos de su implementación quedan como se ve a continuación. Así de fácil es comprobar si una contraseña es válida usando ANSI C:

Nota: en este caso yo solo imprimo el resultado, pero tú puedes almacenarlo o hacer un if con el mismo.

Para terminar te dejo con más tutoriales de C en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario