1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| #include <stdlib.h>
#include <stdio.h>
#include <time.h>
// PROTOTYPES //////////////////////////////////////////////////////////////////////////////////////////////////////
char *genere ( char *chaine, int taille, char *ALPHABET, char *NUMERIQUE );
void affichage( char *chaine, int taille );
// FONCTION PRINCIPALES ////////////////////////////////////////////////////////////////////////////////////////////
int main (void)
{
// NOM DE L'APPLICATION POUR LAQUELLE ON GENERE ID ET PW
char NAME[1024];
char CMD[1024];
// TABLEAU DES CARACTERES GENRABLES
char ALPHABET [] = {'A','B','C','E','F','G','H','I','J','K'};
char NUMERIQUE[] = {'0','1','2','3','4','5','6','7','8','9'};
// TAILLE DES DEUX TABLEAUX POUR L'ALLOCATION
int taille=sizeof(ALPHABET)/sizeof(char);
// INITIALISATION DU TIMER
srand(time(NULL));
// ALLOCATION DYNAMIQUE EN MEMOIRE
char *ID_vierge = malloc( taille*sizeof(char) );
char *PW_vierge = malloc( taille*sizeof(char) );
char *ID = malloc( taille*sizeof(char) );
char *PW = malloc( taille*sizeof(char) );
// FICHIER DE SORTIE POUR SAUVEGARDER L'ID ET LE PW GENERÉ
FILE *OUT=fopen("out","w");
//
// FONCTION DE GENERATION;
ID = genere( ID_vierge, taille, ALPHABET, NUMERIQUE );
PW = genere( PW_vierge, taille, ALPHABET, NUMERIQUE );
// INTERFACE
system(" title GENERATEUR D'ID ET PW ");
system(" MODE CON cols=100 lines=6 ");
system(" color 09 ");
printf("\n Nom de l'application pour laquelle vous souhaitez generer ID et PW : ");
gets(NAME);
// POUR RENOMER LE FICHIER
sprintf(CMD,"ren out %s",NAME);
// AFFICHAGE DE L'ID ET DU PW
printf("\n ID : ");
affichage( ID, taille );
printf(" PW : ");
affichage( PW, taille );
// SAUVEGARDE DU FICHIER
fprintf(OUT,"\nNOM:%s\nID:%9s\nPW:%9s", NAME, ID, PW);
// FERMETURE ET DESALLOCATION
fclose(OUT);
free(ID);
free(PW);
// NOM DU FICHIER
system(CMD);
getch();
}
// FONCTIONS //////////////////////////////////////////////////////////////////////////////////////////////////////////////
char *genere( char *chaine, int taille, char *ALPHABET, char *NUMERIQUE )
{
int i=0;
for ( i=0 ; i<taille ; i++ )
{
int temp;
int modulo;
// GENERATION DU CHIFFRE ALEATOIRE
temp=rand()%taille;
modulo=temp%2;
// CHOIX CARACTERE
if ( modulo==0 )
{
chaine[i]=ALPHABET[temp];
}
if ( modulo==1 )
{
chaine[i]=NUMERIQUE[temp];
}
}
chaine[taille]='\0';
return chaine;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void affichage( char *chaine, int taille )
{
int j=0;
for ( j=0 ; j<taille ; j++ )
{
printf("%c", chaine[j]);
}
printf("\n");
}
///////// |