Crypter password

cs_salim81 Messages postés 78 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 26 septembre 2007 - 1 févr. 2007 à 15:06
cs_salim81 Messages postés 78 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 26 septembre 2007 - 8 févr. 2007 à 11:29
bonjour a tous,

j'ai une classe java ça marche bien et qui me permet de crypter et
decrypter un password.mon probleme c'est que cette classe ça marche pas
pour un password qui depasse 8 caracteres.je sais pas pourqoi?je sais
pas si le probleme est du au libriries utilisé ?

les libriries que j'ai utilisé sont:
import javax.crypto.Cipher;

import javax.crypto.SecretKey;

import javax.crypto.spec.IvParameterSpec;

import javax.crypto.spec.SecretKeySpec;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

import javax.crypto.Cipher;


import javax.crypto.CipherInputStream;


import javax.crypto.CipherOutputStream;


import javax.crypto.KeyGenerator;


import javax.crypto.SecretKey;


import javax.crypto.SecretKeyFactory;


import javax.crypto.spec.DESKeySpec;


import javax.crypto.spec.IvParameterSpec;

pourrez vous me donner une information?

merci

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 févr. 2007 à 18:46
tu crois pas que ca serai mieux de nous donner ton code de cryptage/décryptage afin qu'on puisse t'aider plutôt que la liste des librairies utilisées ?
0
cheplu Messages postés 16 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 1 juillet 2007
2 févr. 2007 à 19:03
C'est sur qu'il faudrait le code mais il me semble que les clefs DES sont limitées à 8 bytes...

Peut être une solution à chercher de coté la (tu peux peut être utiliser un autre algo...).
0
cs_salim81 Messages postés 78 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 26 septembre 2007
5 févr. 2007 à 12:52
bonjour,

le code que j'ai est:
import javax.crypto.Cipher;


import javax.crypto.SecretKey;


import javax.crypto.spec.IvParameterSpec;


import javax.crypto.spec.SecretKeySpec;


import sun.misc.BASE64Decoder;


import sun.misc.BASE64Encoder;



private String decryptPassword ( String Entry )  {


            String encodedEncryptedEntry = "";


            


            try {


                 byte[] myKey = "12345678".getBytes("ASCII");


                 byte[] ivBytes = "12345678".getBytes("ASCII");

              
  DESEntryEncrypt EntryEncryptAgent = new DESEntryEncrypt(myKey,
ivBytes, "ASCII");


                 String[] toEncrypts = Entry.split("&@@&");

              
  for (int i=0; i < toEncrypts.length; i++)  {

  
                          
String toEncrypt = toEncrypts[i];

  
                          
String encrypted = EntryEncryptAgent.decrypt(toEncrypt);

  
                          
encodedEncryptedEntry += encrypted;

              
 
}           
 



            }


            catch (Exception e)


            {

              
 System.err.println("the password "+ Entry +" cannot be decrypted
");


            }


            return encodedEncryptedEntry;


        }


        


        public static void main(String[] args)


        {


            try {


              byte[] myKey = "12345678".getBytes("ASCII");


              byte[] ivBytes = "12345678".getBytes("ASCII");



              String Entry = "ccLIur9ynqk=&@@&3Ly/61CBlfc=";

            
DESEntryEncrypt EntryEncryptAgent = new DESEntryEncrypt(myKey, ivBytes,
"ASCII");


             EntryEncryptAgent.decryptPassword(Entry);

            
System.out.println("decrypt="+EntryEncryptAgent.decryptPassword(Entry)+":\n");


            }


            catch (Exception e)


            {


                e.printStackTrace(System.out);


            }


        }


}

la solution que j'ai essayé est de diviser la chaine a crypter en deux
partie chacune inferieur a 8 caractere.elles sont  separees par &@@& et je fais la concatenation par la suite.


si quelqu'un a un autre algorithme merci de me renseigner.je suis bloqué dans se point et j'ai rien trouvé.

merci.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 févr. 2007 à 14:21
non DES permet de crypter des textes complets, même si les clés seraient limitées à 8 bits (ce qui m'étonnerai quand même car ca fait très très peu, donc facilement cassable !), ca ne serait que la clé, et non le contenu crypté !

Quel est le but de ce cryptage ?

S'il s'agit uniquement de crypter un mot de passe afin de vérifier le mot de passe entré par un utilisateur, tu n'as pas besoin d'une fonction de cryptage pour stocker le mot de passe, il vaut mieux une fonction de hachage (comme MD5 par exemple) : c'est bien plus sûr : tu ne peux pas retrouver le mot de passe d'origine à partir du hash, il te suffit de hasher le mot de passe de l'utilisateur et le comparer avec le hash du mot de passe stocké pour vérifier si c'est le même ou pas.
0

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

Posez votre question
cs_agoumi Messages postés 12 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 23 avril 2007
5 févr. 2007 à 16:00
l'objectif de mon code de decryptage c'est d'acceder a un 
fichier.cfg est de decrypter le password existe dans ce fichier .ce
meme password est deja crypter par un script perl.

la partie d'acces au fichier.cfg est deja fait,il me reste juste la partie de decryptage.
0
cheplu Messages postés 16 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 1 juillet 2007
6 févr. 2007 à 01:29
Ben pourtant...
http://fr.wikipedia.org/wiki/Data_Encryption_Standard

Les clefs DES sont même de 56 bits (j'avais été optimiste), mais codées sur 64 avec 1 bit de de parité par octet... On a donc bien nos 8 octets.
0
cs_salim81 Messages postés 78 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 26 septembre 2007
8 févr. 2007 à 11:29
bonjour;

j'ai une fonction qui me permet de se connecter a un serveur avec
sftp.cette fonction utlise les deux parametres :login et password
decrypter par une fonction de decryptage(decryptPassword()). la trace
de decryptage de mon password se passe bien .mon probleme c'est que la
connexion  passe bien lorsque il prend un password qui ne depasse
pas 8 caractetre et ne passe pas lorsque le password depasse 8
caractere(fm.connect(_serveur.getLogin(), monpassword) ne s'execute pas)
ma fonction de connextion:

private Vector downloadFiles(Vector Files) {

 

        Vector newCollectedFiles = new Vector(_nbMaxFiles);

 

        try { 

            String url = "sftp://" + _serveur.getIPAddress();

            Fm fm = Fm.getFileManager(url, false);

            String password = _serveur.getPwd();

           String monpassword = decryptPassword(password);


           
System.out.println("password serveur apres decryptage
:"+monpassword+"\n");


            System.out.println("debut connection serveur ---->");


            fm.connect(_serveur.getLogin(), monpassword);


            System.out.println("connect avec le Password :"+monpassword);


            System.out.println("fin connection serveur ---->");

            String remoteDir = "";

            buildImportedFileList(fm, remoteDir, Files,

                    newCollectedFiles);

            fm.disconnect();

        }

        catch (Exception e) {

            logger.warn("Problem encoured while connecting to the serveur "

                    + _serveur.getHostname(), e);

           
System.err.println("Problem encoured while connecting to the serveur "+
_serveur.getHostname()+" : "+e);

        }

        return newCollectedFiles;

    }
la trace de la fonction:

password serveur a decrypter:IWEJbVxrR3w =

password serveur apres decryptage :salim_5

debut connection serveur ---->

connect avec le Password :salim_5

fin connection serveur ---->

l'exception que j'ai si le password est >8:
Problem encoured while connecting to the serveur xxxxx : com.jcraft.jsch.JSchException: Auth cancel

com.jcraft.jsch.JSchException: Auth cancel

at com.jcraft.jsch.Session.connect(Unknown Source)

 at com.jcraft.jsch.Session.connect(Unknown Source)


je sais pas s'il me faut des libreries pour le cryptage et
decryptage  pour que la connection avec un password qui depasse 8
caracteres passe .

qulqu'un pourra me donner une indication?

merci.
0
Rejoignez-nous