Convertion C => java

Fermé
giloup121 - 3 juin 2010 à 13:49
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 3 juin 2010 à 22:51
Bonjour,
Voila, comme le dit mon titre j'ai un petit problème, je passe un oral de projet informatiques demain et je suis pas mal à la bourre, j'ai pour projet de créer une algo java dans le principe du bruteForce (pas dans le but de nuire à qui que ce soit, juste celui de réussir mon éxamen ^^ )
J'ai trouvé un programme en C et ai essaye de le traduire en java, lais j'ai quelques petit probléme que je n'arrive pas à résoudre malgrès toutes les aides présentes sur la toile.

J'espére qu'un jeune (ou moins jeune) prodige de l'informatique pourra m'aider =)

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ptibruteforce;
import java.io.*;
import java.nio.*;
/**import java.util.*;
/**
 *
 * @author Giloup
 */

public class Main {
    long NBmdp = 0;
    /**
     * @param args the command line arguments
     */

    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        int longMin = 0;
        int longMax = 0;

        System.out.print("Générateur BruteForce \n");
        System.out.print("Veuillez saisir la longueur minimum du mot de passe : \n");
        
        BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
        longMin = br.read();

        System.out.print("Veuillez saisir la longueur maximum du mot de passe : \n");

        BufferedReader br2 = new BufferedReader( new InputStreamReader( System.in ) );
        longMax = br2.read();

        BruteForce (longMin, longMax);
    }

    public static void BruteForce (int lgMin, int lgMax){

        char fCharList[] = {'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'};

        int lg = lgMin;
        int i, x, y;

        char* Buff = (char*) malloc(lg);  /*a partir d'ici sa commence a merdouiller :s*/ 

        while (lg != lgMax)
        {
            realloc (Buff, lg);
            int Nchar[lg];
            for (i=0; i<=lg; i++);
            {
                Buff[i] = All[0];
                Nchar[i] = 0;
            }
        while (Nchar[0] != 26);
            {
            for(x=0; x<=26; x++)
                {
                Buff[lg] = All[x];
                Nchar[lg] = x;
                System.out.print("%s \n", Buff);
                NBmdp++;
                }
            for(y=lg; y>=0; y--)
            {
                Nchar[y] = 0;
                Nchar[y-1]++;
            }
            Buff[y] = All[Nchar[y]];
            }
        }
    lg++;
    }
free(Buff);
}


Merci d'avance à tous de votre aide =)
A voir également:

8 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
3 juin 2010 à 13:57
char* Buff = (char*) malloc(lg); /* pas de malloc en java, utilises un string à la place de ton char*

while (lg != lgMax)
{
realloc (Buff, lg); /* pas de reallocation, on gère pas la mémoire)
int Nchar[lg];
for (i=0; i<=lg; i++);
{
Buff[i] = All[0];
Nchar[i] = 0;
}
while (Nchar[0] != 26);
{
for(x=0; x<=26; x++)
{
Buff[lg] = All[x];
Nchar[lg] = x;
System.out.print("%s \n", Buff);
NBmdp++;
}
for(y=lg; y>=0; y--)
{
Nchar[y] = 0;
Nchar[y-1]++;
}
Buff[y] = All[Nchar[y]];
}
}
lg++;
}
free(Buff); /* pas besoin de supprimer la memoire, le string s'autodétruira comme un grand */
}
0
J'émets même un doute sur la réussite du malloc et du char*, puisque l'* désigne un pointeur, notion inexistante en Java.
0
Merci beaucoup Nabla's
J'ai réglé pas mal d'erreur (correctement ou pas je sais pas mais elle sont plus la =) )
Par contre j'en ai encore 3 (petites surement =x)

        while (lg != lgMax)
        {
            int Nchar[lg];  /* ']' expected et ';' expected je sais pas ce qu'il manque :s */
            
            for(i=0;i<=lg;i++);  /* empty statement after for (daufra m'expliquer ou :s ^^ */
            {
                Buff[i] = fCharList[0];
                Nchar[i] = 0;  /* Variable NChar may not be initialised (c'est ce que j'essaye de faire la :( ) */
            }
            while(Nchar[0]!=26); /* encore empty statement.... */
            {
                for(x=0; x<=26; x++)
                {
                Buff[lg] = fCharList[x];
                Nchar[lg] = x;
                System.out.print("%s \n", Buff); /* print est souligné et Cannot find symbol */
                NBmdp++; 
                }
            for(y=lg; y>=0; y--)
            {
                Nchar[y] = 0;
                Nchar[y-1]++;
            }
            Buff[y] = fCharList[Nchar[y]];
            }
        }
    lg++;
    }
}


Vraiment je te remercie beaucoup pour ton aide!!
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
Modifié par arth le 3/06/2010 à 15:04
Relis un poil ton code :

for(i=0;i<=lg;i++);


Donc là ta boucle for elle ne va rien faire si tu mets un ; à la fin.

A la place de :
int Nchar[lg];

Essaie :
int[] Nchar = new int[lg];


Alors ça :
 System.out.print("%s \n", Buff);
T'as de la chance de pas être à côté :D:D , faire une conversion comme ça à la volée ^^

Donc remplace :
 System.out.print("%s \n", Buff);

Par :
 System.out.println(Buff);


Déjà et ensuite redonne nous si il y a des erreurs.

Le loup, solitaire et mystérieux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruteForce (longMin, longMax);
3 juin 2010 à 15:15
Super, sa fonctionne toujours pas mais au moins j'ai plus d'erreur.
Eh c'est toujours trop tard qu'on s'en veux de pas avoir écouté son prof ^^

La apparemment j'ai encore un problème la :
        BruteForce (longMin, longMax);

et la :
                Buff[i] = fCharList[0];


Je cherche , je cherche mais quand on a à peine les bases c'est pas facile.

En tout cas les deux si vous remontez un jour dans le pas de calais j'offre ma tournée ^^
0
up =)
0
Up,
Personne a une idée de ce qui cloche? :(
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 juin 2010 à 22:51
Tu peux donner ton code maintenant?
0