Illegal key size or default parameters
java中使用AES对称加密后,请求报错:
Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size or default parameters at com.btzh.util.AESUtil.encrypt(AESUtil.java:18) at com.btzh.service.impl.SiThirdSystemServiceImpl.mapSystemParams(SiThirdSystemServiceImpl.java:32) at com.btzh.resource.SiThirdSystemResource.mapSystemParams(SiThirdSystemResource.java:41) ... 43 common frames omitted Caused by: java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026) at javax.crypto.Cipher.implInit(Cipher.java:801) at javax.crypto.Cipher.chooseProvider(Cipher.java:864) at javax.crypto.Cipher.init(Cipher.java:1249) at javax.crypto.Cipher.init(Cipher.java:1186) at com.btzh.util.AESUtil.encrypt(AESUtil.java:15)
原因是美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。密钥长度最大128,对于需要更大长度的场景则会抛出上面异常。
解决办法是下载Oracle官方网站上的无政策限制权限文件,下载链接:
jdk8:https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后将%JAVA_HOME%\jre\lib\security
中的local_policy.jar
和US_export_policy.jar
替换为下载包中的的local_policy.jar
和US_export_policy.jar
。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
4月28日云栖精选夜读 | 拒绝版权流氓!阿里巴巴重磅发布免费商用字体
【点击订阅云栖夜读周刊】 所有阿里巴巴数字经济体、商家或设计师们可通过阿里巴巴设计出品的 Alibaba ICS Design 平台或者阿里巴巴旗下专业的商家服务平台-淘宝服务市场下载。 热点热议 拒绝版权流氓!阿里巴巴重磅发布免费商用字体 作者:技术小能手 运维安全(第一课) 作者:初雪之路 如何为特定的Joomla文章创建模板覆盖 作者:山边的大树 知识整理 Linux基础命令---uname显示计算机信息 作者:一生有你llx AI让老有所养,智能养老解决方案分享 作者:聂潜发表在:阿里云MVP 写给大数据开发初学者的话 | 附教程 作者:懂天明 PHP获取Memcached的cas_token 作者:再现理想 基于MaxCompute/Dataworks实现数据仓库管理与全链路数据体系 作者:隐林 美文回顾 年薪50w的BATAndroid架构师知识体系详解 作者:Android进阶开发 关于Scrapy爬虫项目运行和调试的小技巧(下篇) 作者:python进阶者发表在:python进阶者 Unity协程基础用法 作者:二哈卖豆腐 PHP取模hash和一致性hash操作Memc...
- 下一篇
Javascript 模块化指北
前言 随着 Web 技术的蓬勃发展和依赖的基础设施日益完善,前端领域逐渐从浏览器扩展至服务端(Node.js),桌面端(PC、Android、iOS),乃至于物联网设备(IoT),其中 JavaScript 承载着这些应用程序的核心部分,随着其规模化和复杂度的成倍增长,其软件工程体系也随之建立起来(协同开发、单元测试、需求和缺陷管理等),模块化编程的需求日益迫切。 JavaScript 对模块化编程的支持尚未形成规范,难以堪此重任;一时间,江湖侠士挺身而出,一路披荆斩棘,从刀耕火种过渡到面向未来的模块化方案; 更多关于我的文章和项目,欢迎关注@x-cold 概念 模块化编程就是通过组合一些__相对独立可复用的模块__来进行功能的实现,其最核心的两部分是__定义模块__和__引入模块__; 定义模块时,每个模块内部的执行逻辑是不被外部感知的,
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案