Code leet speak pour génération de mot de passe
Bonjour a tous,
J'essaie de coder un générateur de mot de passe par permutation, je bute actuellement sur cette fonction
En entrée j'ai : "abcd"
J'ai une table de conversion avec un Switch ( a->1, b->2, c->3, d->4)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
char swich(char permut)
{
if(permut == 'a')
return '1';
if(permut == 'b')
return '2';
if(permut == 'c')
return '3';
if(permut == 'd')
return '4';
if(permut == 'e')
return '5';
} |
le résultat attendu m'afficherai :
abcd
abc4
ab3d
ab34
a2cd
a2c4
a23d
a234...
voici un bout de code sur lequel je suis...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
char mot[4] = "abcd";
int cpt = 1;
char *ptr = mot + 3;
while(1)
{
printf("%s\n",mot);
char *ptr2 = ptr;
while (*ptr2 == swich(*ptr2))
{
if (ptr2 == mot) goto fin;
*ptr2 = mot[4];
*ptr2-- = mot[4-cpt];
cpt++;
}
(*ptr2)= swich(*ptr2);
}
fin:; |
Auriez vous un algo (recursif ou non) permettant cette permutation?
Cordialement,