Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.security.InvalidKeyException:尽管Android Studio上安装了JCE Unlimited Strength辖区策略,但密钥大小非法_Java_Android_Cryptography_Bouncycastle_Android Studio 2.3 - Fatal编程技术网

java.security.InvalidKeyException:尽管Android Studio上安装了JCE Unlimited Strength辖区策略,但密钥大小非法

java.security.InvalidKeyException:尽管Android Studio上安装了JCE Unlimited Strength辖区策略,但密钥大小非法,java,android,cryptography,bouncycastle,android-studio-2.3,Java,Android,Cryptography,Bouncycastle,Android Studio 2.3,我正在使用密钥大小为256位的AES algo,并已在两个位置(即JAVA\jdk1.8.0_05\jre\lib\security和JAVA\jre8\lib\security下)安装了JAVA 8的JCE文件 我使用bouncy castle作为服务提供商,并在我的android项目中添加了jar作为lib。当我设置keysize 128位时,一切正常,但当我选择192或256时,java.security.InvalidKeyException:出现非法密钥大小的情况。另外一件事是,我还在

我正在使用密钥大小为256位的AES algo,并已在两个位置(即JAVA\jdk1.8.0_05\jre\lib\security和JAVA\jre8\lib\security下)安装了JAVA 8的JCE文件 我使用bouncy castle作为服务提供商,并在我的android项目中添加了jar作为lib。当我设置keysize 128位时,一切正常,但当我选择192或256时,java.security.InvalidKeyException:出现非法密钥大小的情况。另外一件事是,我还在运行时安装了bouncycastle提供商。 异常发生在这一行

cipher.init(Cipher.ENCRYPT_MODE, secret,new IvParameterSpec(ivBytes));
同样的代码在具有256个键的netbeans中运行良好。
怎么了?

Android Studio在其安装目录的
JRE
目录中包含了自己的JRE安装

然而,当你使用Android Studio时,你正在开发一个Android应用程序。Android应用程序的执行不会在您的计算机上使用任何JRE/JDK。它在您用于测试应用程序的设备上使用Dalvik


因此,此Android Studio内部JRE仅用于直接在您的计算机上执行的组件,例如本地测试或类似测试。

使用Android Studio时,您正在开发Android应用程序。Android应用程序的执行不会在您的计算机上使用任何JRE/JDK。它在您用于测试应用程序的设备上使用Dalvik。顺便说一句:Android Studio在它的安装目录中包含了它自己的JRE安装。所以你是说我应该将JCE文件复制到Android Studio JRE文件夹?这就是答案。我必须将其复制到Android Studio目录下的JRE文件夹。非常感谢@RobertI将我的评论的扩展版本设置为answer,所以你可以接受它。