我正在尝试使用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版本的问题吗?有没有人对此有所了解?
答案 0 :(得分:-1)
这个加密错误是由于jms和openjdk中的jce.jar冲突造成的。通过在standalone.xml中注释掉这一行来解决问题:
<--module name="org.jboss.genericjms.provider" slot="main"-->