Décryptage en Java avec Blowfish

Tiens,

Je suis le cryptage et le décryptage en Java avec Blowfish.

Le cryptage fonctionne bien, mais le déchiffrement échoue.

Voici mon code Java pour le décryptage :

String encryptedString =  ;
String decryptedString = null;
SecretKeySpec key = new SecretKeySpec(myKey.getBytes(), "Blowfish");
Cipher cipher;
try {
cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decrypted = cipher.doFinal(encryptedString.getBytes());
decryptedString = new String(decrypted, Charset.forName("UTF-8"));
} [ catch Exceptions  ]

J'obtiens une exception :

Exception. javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher

Pouvez-vous me dire comment faire cela simplement, travail ? Merci.

L'entrée je vient de mon chiffrement du code Java, + encodage en Base64, et je le décoder à partir de Base64 juste avant de la donner à ce décryptage de l'opération.

  • Les données codées venir en blocs de 8 bits. Si vous avez dire 22 bits, vous devez utiliser le rembourrage pour les 2 lors du chiffrement. C'est l'idée avec des algorithmes de chiffrement par bloc. Voir en.wikipedia.org/wiki/Blowfish_%28cipher%29
  • Qui ne m'aide pas beaucoup. J'ai édité mon post pour être plus précis.