今天做微信第三方平台开发,在微信消息加解密的过程中需要遇到一些问题。主要就是 JCE 无限制权限策略文件。默认的 jdk 里提供的包是有问题的。进行一些强度较高的加密会报错。
因为某些国家的进口管制限制,Java 发布的运行环境包中的加解密有一定的限制。比如默认不允许 256 位密钥的 AES 加解密,解决方法就是修改策略文件。
官方网站提供了 JCE 无限制权限策略文件的下载:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后解压,可以看到 local_policy.jar 和 US_export_policy.jar 以及 readme.txt。
如果安装了 JRE,将两个 jar 文件放到 %JRE_HOME%\lib\security 下覆盖原来文件,记得先备份。
如果安装了 JDK,将两个 jar 文件也放到 %JDK_HOME%\jre\lib\security 下。
附录:
由于信息安全在军事等方面极其重要,如在第二次世界大战期间,使用了无线电,若是能够成功解密敌方的机密情报,往往预示着战争的胜利,因此美国对加密解密等软件进行了出口限制,JDK 中默认加密的密钥长度较短,加密强度较低,而 UnlimitedJCEPolicyJDK7 中的文件则没有这样的限制,因此为了获得更好的加密强度,需要替换掉那两个文件。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于