Java应用AES对称解密遭遇异常处理方法
2021-04-25 11:34
896 查看
故障描述
使用这个加密时候就出现 Illegal key size 错误,查阅资料知道了如果密钥大于128, 会抛出上述异常。因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件,文件位于/jre/lib/security下, 这种限制是因为美国对软件出口的控制。
Java 默认使用的解密包是 local_policy.jar 和 US_export_policy.jar,但是这个默认的只支持 128位的解密(java 版本在 1.8.0_161之后就没有这个问题了,默认是支持)。我们的版本是 1.8.0_151 正好默认是只支持 128位的解密(其实不是不支持,只是默认配置的不支持)。
[root@localhost ~]# java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
解决方法
- 方法一
[root@localhost ~]# cd /usr/local/jdk jdk/ jdk1.8.0_151/ [root@localhost ~]# cd /usr/local/jdk1.8.0_151/ [root@localhost jdk1.8.0_151]# sed -i 's/^#crypto.policy.*/crypto.policy=unlimited/g' /usr/local/jdk/jre/lib/security/java.security
- 方法二
[root@localhost jdk1.8.0_151]# tar czf policy_limited.tar.gz jre/lib/security/policy/limited/ [root@localhost jdk1.8.0_151]# cp -aR jre/lib/security/policy/unlimited/* jre/lib/security/policy/limited/ cp:是否覆盖"jre/lib/security/policy/limited/local_policy.jar"? y cp:是否覆盖"jre/lib/security/policy/limited/US_export_policy.jar"? y
再次
java -jar运行jar包,正常。
相关文章推荐
- JavaWeb应用中错误和异常处理方法研究
- 在weblogic安装应用后报异常 'java.lang.NoClassDefFoundError: oracle/dms/http/Request' 处理方法
- java基础问题----Java中的异常处理机制的简单原理和应用
- ⊙⊙!下面是一些java异常集 与处理方法
- java异常处理的两种方法
- JAVA异常处理及其应用(2)
- Java对称与非对称加密解密,AES与RSA
- Java 异常处理及其应用
- Java中自定义异常的两种处理方法
- java.lang.UnsupportedClassVersionError: Bad version number in .class file异常的处理方法
- 3.java.lang.NullPointerException异常处理方法
- Java自学笔记(第十天)-异常-异常的处理-throws-throw-多异常处理-自定义异常-throwable类-RunTimeException类-finally-异常在方法继承中的注意事项-
- Java异常及处理方法
- 总结Java的Struts框架的异常处理方法
- Java中的异常处理机制的简单原理和应用
- JAVA的AES加密解密在windows上测试正常,但Linux服务器上却有异常!
- 高效处理Java异常的两种方法
- 应用技巧:Java中的异常处理
- Java中的异常处理机制的简单原理和应用
- Java中的异常处理机制的简单原理和应用。