AES加密和解密,可以放在password的get,set方法中
package com.deqin.aesutil.util;import com.aliyun.odps.utils.StringUtils;
import org.apache.log4j.Logger;import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.security.SecureRandom;public class AESUtil {public static final Logger logger = Logger.getLogger(AESUtil.class);public static final String defaultCharset = "UTF-8";public static final String KEY_AES = "AES";/*** 加密** @param data 需要加密的内容* @param key  加密密码* @return*/public static String encrypt(String data, String key) {return doAES(data, key, Cipher.ENCRYPT_MODE);}/*** 解密** @param data 待解密内容* @param key  解密密钥* @return*/public static String decrypt(String data, String key) {return doAES(data, key, Cipher.DECRYPT_MODE);}/*** 加解密** @param data 待处理数据* @param key  密钥* @param mode 加解密mode* @return*/private static String doAES(String data, String key, int mode) {try {if (StringUtils.isBlank(data) || StringUtils.isBlank(key)) {return null;}//判断是加密还是解密boolean encrypt = mode == Cipher.ENCRYPT_MODE;byte[] content;//true 加密内容 false 解密内容if (encrypt) {content = data.getBytes(defaultCharset);} else {content = parseHexStr2Byte(data);}//1.构造密钥生成器,指定为AES算法,不区分大小写KeyGenerator kgen = KeyGenerator.getInstance(KEY_AES);//2.根据ecnodeRules规则初始化密钥生成器//生成一个128位的随机源,根据传入的字节数组kgen.init(128, new SecureRandom(key.getBytes()));//3.产生原始对称密钥SecretKey secretKey = kgen.generateKey();//4.获得原始对称密钥的字节数组byte[] enCodeFormat = secretKey.getEncoded();//5.根据字节数组生成AES密钥SecretKeySpec keySpec = new SecretKeySpec(enCodeFormat, KEY_AES);//6.根据指定算法AES自成密码器Cipher cipher = Cipher.getInstance(KEY_AES);// 创建密码器//7.初始化密码器,第一个参数为加密(Encrypt_mode)或者解密解密(Decrypt_mode)操作,第二个参数为使用的KEYcipher.init(mode, keySpec);// 初始化byte[] result = cipher.doFinal(content);if (encrypt) {//将二进制转换成16进制return parseByte2HexStr(result);} else {return new String(result, defaultCharset);}} catch (Exception e) {logger.error("AES 密文处理异常", e);// System.out.print(“Exception”);}return null;}/*** 将二进制转换成16进制** @param buf* @return*/public static String parseByte2HexStr(byte buf[]) {StringBuilder sb = new StringBuilder();for (int i = 0; i < buf.length; i++) {String hex = Integer.toHexString(buf[i] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}sb.append(hex.toUpperCase());}return sb.toString();}/*** 将16进制转换为二进制** @param hexStr* @return*/public static byte[] parseHexStr2Byte(String hexStr) {if (hexStr.length() < 1) {return null;}byte[] result = new byte[hexStr.length() / 2];for (int i = 0; i < hexStr.length() / 2; i++) {int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16);result[i] = (byte) (high * 16 + low);}return result;}public static void main(String[] args) {}}

使用idea实现自己的工具类打包成jar包(工具类中有引用三方jar)(非可运行jar,属工具类jar)
https://www.cnblogs.com/007sx/p/12442991.html

若要引用第三方jar包,可以如下:

下方是pom文件中配置文件
        <dependency><groupId>com.deqin</groupId><artifactId>aesdecrypt</artifactId><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/aesdecrypt.jar</systemPath></dependency>

<build><plugins> ...      <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins>
</build>

不过仅仅引入,springboot项目通过本地引入第三方jar包时,第三方jar包无法打包进项目,可参考下方资料
https://www.cnblogs.com/lwyang/p/12554097.html

AESUtil加密加将单个工具类打成jar包并引用相关推荐

  1. IDEA中把springboot项目中工具类打成jar包,其他项目进行依赖引用

    借鉴文章:https://blog.csdn.net/a309220728/article/details/85050166 第一步:点击idea中右上方图标 第二步: 第三步:选择项目中的class ...

  2. Eclipse中将java类打成jar包形式运行

    记录一次帮助小伙伴将java类打成jar包运行 1.创建java project项目 file > new > project > java project 随便起一个项目名称,fi ...

  3. java 打包工具jar,打包工具类为jar包,注意事项

    (1)创建的jar包必须提前对应创建好包目录,一一对应才可以,比如你打包的为 a 目录下的所有,那么jar包你应该创建目录到 a(包括) (2)jar包放的是class文件,一定提前编译一次以后再把c ...

  4. java类打成jar包(小游戏等)

  5. gradle打成jar包报错 错误: 找不到或无法加载主类 App(已经配置过主类)

    文章目录 将gradle打成jar包(包括依赖) 运行jar包 报错 原因(src自己手动创建的) 解决(添加src目录) 将gradle打成jar包(包括依赖) jar {manifest {att ...

  6. IDEA 对单个的java class文件打成jar包

    IDEA 对单个java文件打jar包,在打jar包的时候,需要先对java文件进行编译,然后在对.class文件进行打包,在打包的时候需要注意,自己的java文件中是否包含内部类,如果包含内部类的话 ...

  7. SpringBoot 打成jar包供第三方引用自动装配方案实现

    SpringBoot 打成jar包供第三方引用自动装配方案实现 每天多学一点点~ 话不多说,这就开始吧- 文章目录 SpringBoot 打成jar包供第三方引用自动装配方案实现 1.前言 2.使用者 ...

  8. 打成jar包_keras, tensorflow模型部署通过jar包部署到spark环境攻略

    这是个我想干很久的事情了.之前研究tensorflow on spark, DL4j 都没有成功.所以这里首先讲一下我做这件事情的流程.模型的部署,首先你得有一个模型.这里假设你有了一个keras模型 ...

  9. MobileIMSDK怎样将Java服务端运行起来以及打成jar包运行

    场景 MobileIMSDK: https://gitee.com/jackjiang/MobileIMSDK MobileIMSDK是一套专为移动端开发的原创IM通信层框架 注: 博客: https ...

  10. “java程序打成jar包 如何处理第三方jar包”

    eclipse的export的 runnable jar file 导出的jar包的形式应该可以避免这个问题,直接想所依赖的jar里的class文件也一并打入jar包里了. 问题一: 现在有一j2se ...

最新文章

  1. ssm上传文件获取路径_SSM文件上传
  2. oracle rac安装
  3. 【分析】2014移动互联网数据报告(终极版必收!)
  4. biu~ 你的智能语音客服已免费一键生成!
  5. Kali Linux 2016.2初体验
  6. 22. 用户身份切换用户的特殊 shell与 PAM模块
  7. ABP源码分析五:ABP初始化全过程
  8. 汇总好玩的cmd命令大全
  9. github 仓库中文名_github仓库的使用
  10. 音乐专业如何利用计算机思维,太神奇了!带学生“玩音乐”居然可以打开思维创新...
  11. macOS safari安装第三方插件
  12. 八种常见视频格式转换详解
  13. 如何优雅地使用 Sublime Text
  14. 小程序开发学习一:开发语言解析
  15. 阿里云推出区域经济大脑 | 苹果发布机器学习框架Turi Create | 工业超市震坤行完成2亿元B+轮融资
  16. Flink的State概述
  17. select获取选中的option(包含value和text,重点是text怎么获取)
  18. java socket 长连接事例
  19. JQuery——添加CSS样式
  20. 世界各国坐标、中国各省会坐标、echars世界各国中英映射和省市区联动数据

热门文章

  1. 付费率第一 亏损显著收窄 网易云音乐将实现盈利?
  2. 用Python 操作Web 前端 基础 1
  3. OOA、OOD、OOP 区别与思想
  4. python找重复元素_Python笔记(二)查找重复元素
  5. HTML期末大作业~ 仿新浪微博个人主页html网站模板4个页面(HTML+CSS+JavaScript)
  6. Eureka服务治理
  7. 1000以内完数c语言程序_c语言完数(c语言输出1到1000所有完数)
  8. 免费的Access数据库员工管理系统下载-IT技术网站 企业人员管理系统源码
  9. weui 开发文档
  10. nekohtml和htmlparser