AES256加解密与异常处理
文章目录
- AES256加解密
- 背景
- 实现
- 可能存在的问题
- 下载地址:
- Linux平台下若采用docker容器以tomcat方式运行可能会存在每次启用需重新配置jdk的问题
AES256加解密
背景
最近需求方提出需对接口传输过程中的body体内有价值数据进行加解密操作,采用对称加密算法AES256bit进行加解密
实现
1、pom.xml里引入用到的加密工具封装类包hutool
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.1.19</version>
</dependency>
2、加解密方法类
//64位密钥key值
public static final String KEY = "3a6e2b4d4823f7c7c390c01ecd81d28c3a6e2b4d4823f7c7c390c01ecd81d28c";/*** @deprecated 加密方法* @param string 需加密参* @return 加密成字符串返回* @throws Exception*/private static String encrypt(String string) throws Exception {SecretKey secretKey = new SecretKeySpec(HexUtil.decodeHex(KEY), "AES");AES aes = SecureUtil.aes(secretKey.getEncoded());String s = aes.encryptHex(string);System.out.println("加密后结果: " + s);return s;}/*** @deprecated 解密方法* @param request 带解密参* @return* @throws Exception*/private static String aesDecrypt(String request) throws Exception {SecretKey secretKey = new SecretKeySpec(HexUtil.decodeHex(KEY), "AES");AES aes = SecureUtil.aes(secretKey.getEncoded());String str = aes.decryptStr(request);System.out.println("解密后结果: "+str);return str;}
可能存在的问题
因受美国政策影响,aes256进行加密时,部分同学可能会出现无法加密进而报异常 :
java.security.InvalidKeyException: Illegal key size or default parameters
为解决该问题,oracle公司提供了2个无政策限制权限文件jar包local_policy.jar和US_export_policy.jar
下载地址:
1、Java 5.0 无政策限制文件
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
2、Java 6 无政策限制文件
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
3、Java 7 无政策限制文件
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
4、Java8 无政策限制文件
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
5、其他版本 无政策限制文件
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html
需要注意:根据使用的jdk版本下载对应的无政策限制文件
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt,其中readme.txt是说明,有兴趣的同学可以看看;
将解压的local_policy.jar和US_export_policy.jar移动到你的jdk->jre->lib->security下,加载引用即可正常进行aes256加解密
Linux平台下若采用docker容器以tomcat方式运行可能会存在每次启用需重新配置jdk的问题
AES256加解密与异常处理相关推荐
- 【AES256】Java实现AES256加解密
AES256加解密比较常见,这里简单记录以供参考! 一.下载 官方JDK默认支持AES-128,在 1.8.0_151 和 1.8.0_152 版本之前,需要从Oracle官网下载安全JAR包方可支持 ...
- aes 256 cbc java,AES256加解密java语言实现
AES256加解密java语言实现 写在前面 基于项目安全性需要,有时候我们的项目会使用AES 256加解密算法.以下,是针对实现AES256 Padding7加密算法实现的关键步骤解析以及此过程遇到 ...
- stm32F4 AES256加解密
现在高级点的MCU都会带AES加密引擎,软件算有延迟硬件基本可以数据发出结果就马上返回,软件加密库可参考mbedTLS,现在信息安全也是很重要通讯数据,存储数据都会进行加密存储以防被破解防制,我写程序 ...
- Oracle aes128和aes256加解密
–aes128加密 DECLAREl_src_data VARCHAR2(20) := 'Source Data';l_type pls_integer := dbms_crypto.encrypt_ ...
- AES详细加解密步骤以及AES-128的C++实现
文章目录 用到的矩阵 S盒 S盒的逆 轮常量矩阵 列混合矩阵 列混合矩阵的逆 加密步骤 对密钥的处理(密钥扩展) 对明文的处理 字节替换 行移位 GF(2^8^)上的乘法 列混合 轮密钥加 解密步骤 ...
- android byte转string_高性能AES256对称加解密,兼容Java、IOS、Android
最近在设计一个给IOS和Android提供接口的项目框架,在接口安全上准备使用常规的加密技术,确保在非法访问接口的情况下拿到的数据一时半会也没用. 查了相关的资料,用的最多的几种加密算法,DES.AE ...
- oracle解密des乱码,Oracle中des等算法的加解密
1.oracle中加密function CREATE OR REPLACE FUNCTION ENCRYPT_FUNCTION( V_STR VARCHAR2, V_KEY VARCHAR2) RET ...
- ecs加解密_ECS云盘加密
当您的业务因为安全需求或法规合规要求等原因,需要对存储在云盘上的数据进行加密保护时,您可以使用阿里云ECS云盘加密功能,无需构建.维护和保护自己的密钥管理基础设施,即可保护数据的隐私性和自主性. 本文 ...
- Golang AES 加解密
文章目录 AES 简介 AES 加解密实现 小结 参考文献 AES 简介 利用 Go 提供的 AES 加解密与 Base64 编解码包,我们可以轻松实现 AES 加解密.实现之前,首先了解一下 AES ...
- AES方式加解密的简单介绍
上面一篇文章介绍了使用DES方式进行加解密( DES方式加解密的简单介绍),我们说了DES由于使用8个字节(64bit)密钥进行加解密,所以安全性不够(当然这里的不够都是相对的),所以现在使用了密钥更 ...
最新文章
- python爬虫日志(9)爬取代理
- R语言循环中break函数和next函数使用实战
- PHP利用Gearman来处理并行多进程问题
- java io使用哪些设计模式_JAVA IO中的设计模式
- 星际战争2服务器维护,星际战争2初次反击虚空技能洗练技巧
- 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍
- html css 布局小细节
- 如何安装Virtual Box的VBox Guest Additions扩展程序
- 通俗讲解:傅立叶分析和小波分析之间的关系
- 【Python实战|小旭学长】使用python进行城市数据分析【完结】
- 脉动风时程matlab程序,脉动风时程matlab程序.docx
- Win10找回自带的Windows照片查看器:打开jpg、png、gif格式的图片
- 怎么为小数据集划分训练集和测试集
- 最新|解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题
- 【Unity】Unity下载器下载不下IOS/Android等模块的解决办法
- l2范数求导_稀疏编码学习笔记(二)L2范数
- pm961 mysql_搭建Memcache服务详解
- kali搭建Linux版本的小皮面板
- 计算机机房管理系统范文,计算机机房管理系统探讨论文
- 国内前十大FPGA论坛社区网站精选