简体   繁体   English

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

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

I'm trying to decrypt a string using AES and I'm using jce.jar to do it. 我正在尝试使用AES解密字符串,并且正在使用jce.jar做到这一点。

I have the following method to decrypt. 我有以下方法解密。

 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;
    }

But while trying to decrypt I got the following error. 但是,在尝试解密时,出现以下错误。

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

I'm using java_sdk_1.7.0 version. 我正在使用java_sdk_1.7.0版本。 Is it an issue with my sdk version? 我的SDK版本有问题吗? Does anyone have idea on this? 有人对此有想法吗?

This crypto error is coming due to conflicting jce.jar in the jms and the openjdk. 由于jms和openjdk中的jce.jar冲突,导致出现此加密错误。 Issue was resolved by commenting out this line in standalone.xml: 通过注释standalone.xml中的这一行来解决问题:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM