cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 2009
-
4 janv. 2005 à 02:44
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 2009
-
7 janv. 2005 à 19:06
Bonjour a tous,
alors voila cela fait un moment que je cherche a faire un alogrithme de Brute Force généraliste, valable pour n'importe quel longueur... pour ce qui ne connaisse pas, un algorithme de Brute Force génére toutes possibilité (pour trouver une mot de passe généralement)... moi ce qui m'interresse plus, c'est le point de vue algorithmique, de toute façon le brute force de nos jours ne sert pas a grand chose...
apres quelques temps j'ai reussi a faire un brute force numerique... je m'attaque donc a la génération de mot de passe des caracteres et c'est la que je bloque, ce qui me permet de constater que mon niveau en algorithmie n'est pas très elevé...
j'ai donc besoin d'aide, pour faire la génération de toute les possibilité avec des caracteres... voici la fonction que j'ai commencé à écrire:
// fonction de génération de possibilité "caractère minuscule"
int MinCarGen(
int longueur)
{
int i, j, k;
// variable pour for
// génération des possibilites
for(i=0; i < 26; i++)
{
printf("%c\n", (i+97));
// ecriture
// rajoute les caracteres
for(j=1; j < longueur; j++)
{
for(k=0; k < 26; k++)
{
// a partir d'ici ca ne vat plus
printf("%c", (i+97));
// caractere courant
printf("%c", (k+97));
printf("\n");
}
}
}
return 1;
}
voila je suis donc bloqué, et j'aimerais que l'on m'aide un peu pour que je puisse avancé...
merci par avance...
Bob...
"La chance accorde ses faveur aux esprits avertis..."
bebert37
Messages postés38Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention16 février 2005 4 janv. 2005 à 14:20
Pour commencer , perso les indices de boucle seraient de type caractère
(ça evite les changement de type). Ca doit etre pour ça que tu as des
problèmes avec le printf ..
De plus ici ... un p'tit coup de recursif va te simplifier la vie :
char mot[longeur];
int trouver_mot(char* mot; int taille;int nbr_lettre){
char i;
if(nbr_lettre== taille+1)
printf("mot : %s",mot);
else{
for(i='a';i<'a'+25;i++){
mot[nbr_lettre]=i;
trouver_mot(mot,taille,nbr_lettre+1);
}
}
}
Je dis pas que ça marche de suite à la compile .. mais c dans l'idée ...
une fois que c'est fait tu lances le machine avec
trouver_mot(mot,15,0);
Ce sont les tonneaux vides et les hommes pleins qui font le plus de bruit
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 7 janv. 2005 à 19:06
en fait ca me sera pas util, vu que j'ai reussi a faire ce que je voulai faire :)
d'ailleur je pense poster prochainement l'algo sur le reseau !!!
Bob...
"La chance accorde ses faveur aux esprits avertis..."