de como decir con case si es fuerte la contraseña o no y devolver un booleano y devolver un booleano bueno para devolverlo tengo entendido que es con un return pero lo otro tengo duda
supongo seria mas o menos asi
1º realizar algoritmo para determinar si la contraseña es fuerte o no(ej recorrer contraseña y determinar si es alfanumerica y si es de un determinado largo de caracteres)
2º el resultado de eso es un booleano uno si es fuerte o 0 si no lo es
3º ese resutado gurdarlo y mandarlo a un case del SWITCH ...
el tercer paso me parece medio al vicio pero bue
Supongo que en la tabla ASCII, se deben contar desde hasta ciertos caracteres con una cantidad de los mismos
0 a 9
A a Z
a a z
otros a otros (los que se pueden escribir con teclado sin usar ALT/ALTGR)
y ahí ver la cantidad de c/u
O por lo menos yo lo pensaría así.
Saludos
En primer lugar, debes especifica qué se entiende por una contraseña fuerte. Investiga un poco sobre ésto, o establece tus propios criterios. Por ejemplo, digamos que la contraseña debe:
- tener una longitud de al menos 8 caracteres
- poseer al menos un carácter entre a-z, uno entre A-Z, y un dígito 0-9
- poseer al menos un carácter especial como -_?*%&$
Este sencillo programa pide al usuario una cadena y luega prueba todas estas condiciones, indicando por pantalla si la contraseña es débil o fuerte. La verificación es realizada por la función auxiliar
es_fuerte() que devuelve 0 si es débil, 1 si es fuerte.
EI: codigo removido, no hagas tareas ajenas por favor.
Veamos la ejecución del programa:
_____________________________________________
yoel@debian:~/Documentos/C/test$ ./test
intro contrasena: Abc31
contrasena debil
yoel@debian:~/Documentos/C/test$ ./test
intro contrasena: Abcs145Ahy*yh_1
contrasena fuerte
_____________________________________________
Ten en cuenta que los criterios de fortaleza de contraseña pueden ser variados, así que podrían existir algoritmos más sofisticados que el que aquí pongo de ejemplo. De todos modos espero haberte ayudado al menos a iniciar.
yoel_alejandro: no hagas tareas ajenas por favor.