Cómo programar un generador de contraseñas en lenguaje C
El lenguaje C implementa el generador de contraseñas. El código de referencia es el siguiente: #include?
#include?
#include?
//const?char?upper_chars[]?=?"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//const ?char? number_chars[]?=?"0123456789";?
const?char?lower_chars[]?=?"abcdefghijkmnpqrstuvwxyz";?//?no?l?or?o
const?char?upper_chars[]?=?"ABCDEFGHJKLMNPQRSTUVWXYZ";?//?no?I?or?O
const?char?number_chars[]?=?"23456789";? // no?1?o?0
const?char?special_chars[]?=?"!@#$%^&*()-=_+[]{};:'\ "<> ,.?/";
const?int?_ks_pass_len?=?17;
void?mkpass(char?pass[_ks_pass_len+1])
{
int?i?=?0,?j?=?0,?k?=?0,n?=?0;
n?=? _ks_pass_len/4 ;
para?(;?i?
{
pasar[i]?=?lower_chars[rand ()% (strlen(lower_chars))];
pasar[i+n]?=?upper_chars[rand()%(strlen(upper_chars))];
pasar[ i+2 *n]?=?number_chars[rand()%(strlen(number_chars))];
pasar[i+3*n]?=?special_chars[rand()%(strlen( caracteres_especiales)) ];
}
j?=?_ks_pass_len?-?4*n;
para?(i?=?0;?i pasar[i+4*n]?=?special_chars[rand()%(strlen(special_chars))]; } //Caracteres fuera de orden for?(i?=?0;?i?32;?i++) {? j?=?rand()%(_ks_pass_len); k?=?pasar[j]; pasar[j]? =?pasar[ i%_ks_pass_len]; pasar[i%_ks_pass_len]?=?k; } pasar[_ks_pass_len]?=?' \0'; } int?_tmain(int?argc,?_TCHAR*?argv[]) { srand(tiempo( 0)); char?szPass[_ks_pass_len+1]; para?(en t?i=0;?i<16;?i++) { mkpass(szPass); printf("%s\n", szPass); } retorno?0; }