Irei colocar um exemplo agora de um gerador de senhas simples que eu fiz a uns tempos:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
int generate(int type);
void about(void);
int key_num[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
char key_lchar[52] = { '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', '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 key_espec[17] = { '_', '.', '-', '$', '%', '/', '&', '(', ')', '[', ']', '?', '!', '@', '=', '+', '*' };
int main()
{
int opc;
int op1;
int to1 = 1;
int to2 = 2;
int to3 = 3;
int to4 = 4;
printf("Key Generator 0.9, by morte137
");
printf("Escolha a opção...
");
printf("[1]Gerar senha
");
printf("[2]Sobre o Key Generator.
");
printf("[3]Sair
");
scanf("%d", &opc);
if(opc == 1)
{
printf("Escolha a opção.
");
printf("[1]Senha com letras somente
");
printf("[2]Senha com números somente
");
printf("[3]Senha com Letras e números
");
printf("[4]Senhas com tudo, inclusive caracteres especiais
");
scanf("%d", &op1);
if(op1 == 1)
generate(to1);
if(op1 == 2)
generate(to2);
if(op1 == 3)
generate(to3);
if(op1 == 4)
generate(to4);
}
if(opc == 2)
about();
if(opc == 3)
exit(0);
return(0);
}