2017-04-17 32 views
1

我使用AES算法中使用密钥长度256位,并在这两个位置都安装了JAVA 8的JCE文件下,即的Java \ jdk1.8.0_05 \ JRE \ lib \ security中 & 的Java \ jre8 \ lib \ security中 我使用充气城堡作为服务提供者加入水瓶中的lib在我的Android project.When我设置密钥长度128位,一切正常,但当我去192或256 a java.security.InvalidKeyException:非法密钥大小发生。一个更多事情是我在运行时也安装了bouncycastle提供程序。 发生在这条线java.security.InvalidKeyException:非法密钥大小虽然JCE无限制强度仲裁策略上安装Android Studio中

cipher.init(Cipher.ENCRYPT_MODE, secret,new IvParameterSpec(ivBytes)); 

的异常另相同的代码运行在256密钥长度的NetBeans就好了。 有什么不对?

+0

当您使用Android Studio时,您正在开发一个Android应用程序。 Android应用程序的执行不会在您的计算机上使用任何JRE/JDK。它在您用于测试应用程序的设备上使用Dalvik。 BTW:Android Studio在其安装目录中包含它自己的JRE安装。 – Robert

+0

所以你告诉我我应该将JCE文件复制到android studio JRE文件夹中? – rahzex

+0

所以这就是答案。我不得不将它复制到Android Studio Dir下的JRE文件夹中。感谢很多@Robert – rahzex

回答

0

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

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

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

相关问题