java.lang.IllegalAccessError:试图从类javax.crypto.Cipher访问类javax.crypto.Cipher $ Transform

时间:2015-09-03 21:04:57

标签: java encryption

我正在尝试使用AES解密字符串,而我正在使用jce.jar来执行此操作。

我有以下解密方法。

 public String decrypt(String strToDecrypt) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
            cipher.init(Cipher.DECRYPT_MODE, secretKey);
            setDecryptedString(new String(cipher.doFinal(Base64
                    .decodeBase64(strToDecrypt))));
        } catch (Exception e) {
            System.out.println("Error while decrypting: " + e.toString());
        }
        return null;
    }

但在尝试解密时,我收到了以下错误。

java.lang.IllegalAccessError: tried to access class javax.crypto.Cipher$Transform from class javax.crypto.Cipher

我正在使用java_sdk_1.7.0版本。 这是我的sdk版本的问题吗?有没有人对此有所了解?

1 个答案:

答案 0 :(得分:-1)

这个加密错误是由于jms和openjdk中的jce.jar冲突造成的。通过在standalone.xml中注释掉这一行来解决问题:

<--module name="org.jboss.genericjms.provider" slot="main"-->