J'ai un petit soucis pour décrypter un fichier en utilisant l'algo blowfish. Le cryptage se passe sans problème:

la classe cl_BlowFish permet de faire toutes les opérations de cryptage / décryptage (en utilisant les classes Cipher...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
cl_BlowFish acl_BlowFish = new cl_BlowFish();
acl_BlowFish.generateKey();
byte[] secretKey = acl_BlowFish.getSecretKeyInBytes();
byte[] ciphertext = acl_BlowFish.crypt(fichier_countain1);
la méthode crypt donne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public byte[] crypt(byte[] plaintext) {
    try {
      Cipher cipher = Cipher.getInstance("Blowfish");
      cipher.init(Cipher.ENCRYPT_MODE, secretKey);
      return cipher.doFinal(plaintext);    
    }
    catch (Exception e) {System.out.println(e);} 
    return null;
  }
j'écris ensuite fichier_countain1 dans un fichier: je récupère bien le code crypté.

Vies ensuite le décryptage, je récupère le code crypté du fichier précédent, mais je n'arrive pas à le décrypté :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
cl_BlowFish acl_BlowFish = new cl_BlowFish();
acl_BlowFish.generateKey();
byte[] secretKey = acl_BlowFish.getSecretKeyInBytes();
 
acl_BlowFish.setSecretKey(secretKey);
 
byte [] aByte = new byte[128]; 
aByte = fichier_countain.getBytes();
 
String res = acl_BlowFish.decryptInString(aByte);
fichier_countain est le string qui contient le texte crypté de la fonction précédente.

le pb ne vient ps de la méthode decryptInString, je l'ai testé plusieurs fois.

ça serait sympa de m'aider, c un tp à rendre pour hier...