AES128 Décryptage :javax.crypto.badpaddingexception tampon de bloc corrompu

J'ai essayer de déchiffrer une des données chiffrées que je reçois à partir d'un service web.

Le chiffrement est effectué à l'aide AES 128.

J'utilise le code suivant pour déchiffrer les données:

public static String decrypt(String strToDecrypt)
{       
    try
    {
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); //AES/CBC/PKCS7Padding
        SecretKeySpec secretKey = new SecretKeySpec(AppConstants.AESEncryptionKey.getBytes("UTF8"), "AES");
        int blockSize = cipher.getBlockSize();
        cipher.init(Cipher.DECRYPT_MODE, secretKey, new IvParameterSpec(new byte[blockSize])); //new IvParameterSpec(new byte[16])
        byte decBytes[] = cipher.doFinal(Base64.decode(strToDecrypt, 0));
        //byte decBytes[] = cipher.doFinal(Base64.decodeBase64(strToDecrypt));
        String decStr = new String(decBytes);
        System.out.println("After decryption :" + decStr);
        return decStr;
    }
    catch (Exception e)
    {
        System.out.println("Exception in decryption : " + e.getMessage());
    }
    return null;
}

À

de chiffrement.doFinal()

Je suis l'Exception suivante:

javax.crypto.badpaddingexception tampon de bloc corrompu

Je suis allé dans mon post, mais a terminé avec pas de solution. Je suis mal coincé ici.

Le chiffrement côté utilise certains autres rembourrage (ou de la mode, ou un chiffre) ou le strToDecrypt contient tronquée ou endommagé de données (la chaîne elle-même peut être bon en Base64, mais les données qu'il représente est corrompu).
strToDecrypt a le parfait crypté des données codées à l'aide de Base64 et même de la marge,de la mode et de l'Algorithme est le même
Dans ce cas, la dernière option est que les clés utilisées pour le codage et le décodage sont différentes: déchiffrer avec la clé incorrecte entraînera dans le dernier bloc qui ne contient pas correctement le collier de données et que cette condition est détectable et les causes BadPaddingException.
Ne devrait-ce pas être .getBytes("UTF-8")?

OriginalL'auteur iAviatorJose | 2014-05-06