Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Ignacio Alejandro Ruiz Garrido
- //27 de agosto
- //Contraseña segura
- //Verificar si un contraseña cumple con los requisitos requeridos
- #include <stdio.h>
- int main()
- {
- unsigned short Cant=0; //Variable para guardar la cantidad de dígitos de la contraseña
- unsigned short i=0; //Variable que se usa para recorrer el vector
- unsigned short flag=1; //Para delatar si la pass, está mal
- unsigned short num=0; //Contador de la cantidad de números
- unsigned short simb=0; //Contador de la cantidad de símbolos
- unsigned short mayus=0; //Contador de la cantidad de mayúsculas
- unsigned short minus=0; //Contador de la cantidad de minúsculas
- scanf ("%hu",&Cant); //Se pide la cantidad de dígitos de la contraseña
- if (Cant>=8) //Solo entra en caso que cumpla con la primera condición, que la cantidad sea mayor a -->
- { //--> o igual a 8
- char pass [Cant+1]; // Se crea el vector en relación al tamaño ya dado, así no se malgasta espacio
- scanf ("%s",pass); //Se lee la contraseña
- for (i=0;i<Cant;i++) //Como ya se sabe que tiene por lo menos 8 carácteres. Se revisa cada casilla
- { //para saber si cumple con las condiciones, al menos uno de las 4 cosas, de no ser así
- //se rompe directamente el ciclo y se le asigna a flag 0 (falso) para después confirmarlo por pantalla fuera.
- if ((pass[i]=='#')||(pass[i]=='$')||(pass[i]=='%')||(pass[i]=='&')||(pass[i]=='*')||(pass[i]==',')||(pass[i]==';')||(pass[i]==':')||(pass[i]=='.')||(pass[i]=='?')||(pass[i]=='@')||(pass[i]=='~'))
- {
- simb++;
- }
- else if ((pass[i]<='9')&&(pass[i]>='0'))
- {
- num++;
- }
- else if ((pass[i]<='Z')&&(pass[i]>='A'))
- {
- mayus++;
- }
- else if ((pass[i]<='z')&&(pass[i]>='a'))
- {
- minus++;
- }
- else
- {
- flag=0;
- break;
- }
- }
- }
- if (flag&&simb&&mayus&&minus&&num) //Se ve si todas las condiciones se cumplen para tirar por pantalla que, sí las cumple, estas son que
- { //que al menor haya una carácter de cada tipo, mayúsculas, minúsculas, símbolo y número.
- printf("SI"); //Y finalmente se imprime que sí, indicando que está bien la pass
- }
- else //De caso contrario, se informa que no está correcta la pass, por no cumplir las condiciones
- {
- printf("NO");
- }
- return 0; //Termina el programa.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement