Contraseña.cpp
unknown
plain_text
a year ago
1.9 kB
6
Indexable
Never
#include "Contraseña.h" #include <stdio.h> #include <stdlib.h> #include <time.h> Contraseña::Contraseña() { this->longitud = 8; this->password = generarContrasena(); } Contraseña::Contraseña(int longitud) { this->longitud = longitud; this->password = generarContrasena(); } string Contraseña::generarContrasena() { srand(time(NULL)); string caracteresPermitidos = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; string randomPasword = ""; for (int i = 0; i < this->longitud; i++) { int indiceAleatorio = rand() % caracteresPermitidos.length(); randomPasword += caracteresPermitidos[indiceAleatorio]; } return randomPasword; } string Contraseña::getContraseña() { return this->password; } bool Contraseña::esSeguro() { char mayusculas[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; char minusculas[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; char numeros[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; int Aceptable = 0; int mayusEncontradas = 0; int minusEncontradas = 0; int numsEncontrados = 0; for (char caracter : this->password){ if (isupper(caracter)) { mayusEncontradas++; } if (mayusEncontradas >= 2) { Aceptable += 1; } } for (char caracter : this->password){ if (islower(caracter)) { minusEncontradas++; } if (minusEncontradas >= 1) { Aceptable += 1; } } for (char caracter : this->password) { if (isdigit(caracter)) { numsEncontrados++; } if (numsEncontrados >= 5) { Aceptable += 1; } } return Aceptable == 3; } float Contraseña::getLongitud() { return this->longitud; }