文章目录

  • 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加解密与异常处理相关推荐

  1. 【AES256】Java实现AES256加解密

    AES256加解密比较常见,这里简单记录以供参考! 一.下载 官方JDK默认支持AES-128,在 1.8.0_151 和 1.8.0_152 版本之前,需要从Oracle官网下载安全JAR包方可支持 ...

  2. aes 256 cbc java,AES256加解密java语言实现

    AES256加解密java语言实现 写在前面 基于项目安全性需要,有时候我们的项目会使用AES 256加解密算法.以下,是针对实现AES256 Padding7加密算法实现的关键步骤解析以及此过程遇到 ...

  3. stm32F4 AES256加解密

    现在高级点的MCU都会带AES加密引擎,软件算有延迟硬件基本可以数据发出结果就马上返回,软件加密库可参考mbedTLS,现在信息安全也是很重要通讯数据,存储数据都会进行加密存储以防被破解防制,我写程序 ...

  4. Oracle aes128和aes256加解密

    –aes128加密 DECLAREl_src_data VARCHAR2(20) := 'Source Data';l_type pls_integer := dbms_crypto.encrypt_ ...

  5. AES详细加解密步骤以及AES-128的C++实现

    文章目录 用到的矩阵 S盒 S盒的逆 轮常量矩阵 列混合矩阵 列混合矩阵的逆 加密步骤 对密钥的处理(密钥扩展) 对明文的处理 字节替换 行移位 GF(2^8^)上的乘法 列混合 轮密钥加 解密步骤 ...

  6. android byte转string_高性能AES256对称加解密,兼容Java、IOS、Android

    最近在设计一个给IOS和Android提供接口的项目框架,在接口安全上准备使用常规的加密技术,确保在非法访问接口的情况下拿到的数据一时半会也没用. 查了相关的资料,用的最多的几种加密算法,DES.AE ...

  7. oracle解密des乱码,Oracle中des等算法的加解密

    1.oracle中加密function CREATE OR REPLACE FUNCTION ENCRYPT_FUNCTION( V_STR VARCHAR2, V_KEY VARCHAR2) RET ...

  8. ecs加解密_ECS云盘加密

    当您的业务因为安全需求或法规合规要求等原因,需要对存储在云盘上的数据进行加密保护时,您可以使用阿里云ECS云盘加密功能,无需构建.维护和保护自己的密钥管理基础设施,即可保护数据的隐私性和自主性. 本文 ...

  9. Golang AES 加解密

    文章目录 AES 简介 AES 加解密实现 小结 参考文献 AES 简介 利用 Go 提供的 AES 加解密与 Base64 编解码包,我们可以轻松实现 AES 加解密.实现之前,首先了解一下 AES ...

  10. AES方式加解密的简单介绍

    上面一篇文章介绍了使用DES方式进行加解密( DES方式加解密的简单介绍),我们说了DES由于使用8个字节(64bit)密钥进行加解密,所以安全性不够(当然这里的不够都是相对的),所以现在使用了密钥更 ...

最新文章

  1. python爬虫日志(9)爬取代理
  2. R语言循环中break函数和next函数使用实战
  3. PHP利用Gearman来处理并行多进程问题
  4. java io使用哪些设计模式_JAVA IO中的设计模式
  5. 星际战争2服务器维护,星际战争2初次反击虚空技能洗练技巧
  6. 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍
  7. html css 布局小细节
  8. 如何安装Virtual Box的VBox Guest Additions扩展程序
  9. 通俗讲解:傅立叶分析和小波分析之间的关系
  10. 【Python实战|小旭学长】使用python进行城市数据分析【完结】
  11. 脉动风时程matlab程序,脉动风时程matlab程序.docx
  12. Win10找回自带的Windows照片查看器:打开jpg、png、gif格式的图片
  13. 怎么为小数据集划分训练集和测试集
  14. 最新|解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题
  15. 【Unity】Unity下载器下载不下IOS/Android等模块的解决办法
  16. l2范数求导_稀疏编码学习笔记(二)L2范数
  17. pm961 mysql_搭建Memcache服务详解
  18. kali搭建Linux版本的小皮面板
  19. 计算机机房管理系统范文,计算机机房管理系统探讨论文
  20. 国内前十大FPGA论坛社区网站精选

热门文章

  1. 关于数据埋点的认识以及在流量分析系统中的实际使用
  2. CSS W3C 统一验证工具和压缩
  3. linux系统分区表修复
  4. 电脑操作技巧:如何抓图
  5. 【建议收藏】1000套HTML静态网页设计期末大作业 (HTML+CSS+JS)
  6. Python学习总结报告
  7. eclipse调成黑色主题背景(老版本适用)
  8. 如何用acme.sh申请证书
  9. 银行爱“IOE”爱得有多深
  10. 天翼云服务器ubuntu20.04安装Mysql记录