Mysql 解密函数:
SELECT AES_DECRYPT(UNHEX('*****'),'*****')

Java 代码

public class AesTools {private AesTools() {}public static String encrypt(String content, String key) {try {if (StringUtils.isNotBlank(content) && StringUtils.isNotBlank(key)) {SecretKey aesKey = generateMySQLAESKey(strKey, "ASCII");Cipher cipher = Cipher.getInstance("AES");cipher.init(Cipher.ENCRYPT_MODE, aesKey);byte[] contentBytes = content.getBytes(StandardCharsets.UTF_8);byte[] cipherBytes = cipher.doFinal(contentBytes);return Hex.encodeHexString(cipherBytes).toUpperCase();}} catch (Exception ex) {ex.printStackTrace();}return "";}public static String decrypt(String content, String key) {try {if (StringUtils.isNotBlank(content) && StringUtils.isNotBlank(key)) {SecretKey aesKey = generateMySQLAESKey(key, "ASCII");Cipher cipher = Cipher.getInstance("AES");cipher.init(Cipher.DECRYPT_MODE, aesKey);byte[] contentBytes = Hex.decodeHex(content.toCharArray());byte[] cipherBytes = cipher.doFinal(contentBytes);return new String(cipherBytes, StandardCharsets.UTF_8);}} catch (Exception ex) {ex.printStackTrace();}return "";}public static SecretKeySpec generateMySQLAESKey(final String key, final String encoding) {try {final byte[] keyBytes = new byte[16];int i = 0;for (byte b : key.getBytes(encoding))keyBytes[i++ % 16] ^= b;return new SecretKeySpec(keyBytes, "AES");} catch (Exception ex) {throw new RuntimeException(ex);}}private static ArrayList<List<Integer>> splitArray(ArrayList<Integer> arrayList, int subNum) {int counter = arrayList.size() % subNum == 0 ? arrayList.size() / subNum : arrayList.size() / subNum + 1;ArrayList<List<Integer>> arrayLists = new ArrayList<>();for(int i = 0; i < counter; i++) {int index = i * subNum;List<Integer> tempList = new ArrayList<>();int j = 0;while(j < subNum && index < arrayList.size()) {tempList.add(arrayList.get(index++));j++;}arrayLists.add(tempList);}return arrayLists;}public static void main(String[] args) {String value = "******";String key = "*******";String content = encrypt(value, key);System.out.println("加密后:" + content);System.out.println("解密后:" + decrypt(content, key));}
}

Java-Mysql对称加解密工具类(自用保存)相关推荐

  1. Java各种方式加解密工具类

    文章目录 前言 1.AES 2.DES 3.BCrypt 4.Http Basic 5.MD5 6.RSA 7.SHA256 8.SM3 9.SM4 前言 JAVA能够实现各种加解密方式,这里对各种加 ...

  2. rsa java ao_RSA加解密工具类

    Java 实现 import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairG ...

  3. java aes 工具类_Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  4. 国密算法-SM4加解密工具类

    import cn.hutool.crypto.symmetric.SymmetricCrypto;/*** @author : chenfan* @className : SM4Utils* @da ...

  5. RSA加解密工具类(PKCS8公钥加密,PKCS1私钥解密)

    场景:如果项目上生成的秘钥,公钥是PKCS8格式,私钥却是PKCS1格式.需要在这种场景加解密的话可以直接使用下面工具类. 依赖 <dependency><groupId>or ...

  6. 阿里云专属KMS信封加解密工具类

    此工具类主要实现,字符串的加密,输出为Base64编码的字符串.字符串的解密,输入为Base64编码的字符串.工具类里的IV向量参数,需要用户自己保存,工具类中是默认写死在代码中的,并不规范.IV向量 ...

  7. Java中的RSA加解密工具类:RSAUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt;import com.mirana.frame.utils.log.LogUtils; ...

  8. Java——DESUtil加解密工具类

    工具类代码如下: package util;import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto ...

  9. AES-128加解密工具类

    Java实现AES加密.解密 import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher; import java ...

最新文章

  1. 禅道设置bug模板_一款热度很高的项目管理和bug工具,免费使用,可在公司推广哦...
  2. [YTU]_2641 9 填空题:静态成员---计算学生个数)
  3. UA MATH566 统计理论 Cramer-Rao不等式与Delta方法的联系
  4. AtCoder AGC036D Negative Cycle (图论、DP)
  5. JavaScript---事件监听
  6. matlab 细化函数,MATLAB图像处理工具箱函数(细化篇).doc
  7. python中argmin函数_Python numpy.argmin()用法及代码示例
  8. xss绕过字符过滤_IE8 xss filter bypass (xss过滤器绕过)
  9. SQL Server中的动态数据屏蔽
  10. vmlogin效果怎么样?亚马逊防关联超级浏览器,电商多账号管理神器
  11. java4.25生成车牌号_泸牌16年涨882倍 超25万人拍一张车牌为哪般?
  12. 树莓派简单摄像头录像并保存视频文件
  13. c语言中常见的数学函数
  14. 关于百度网盘下载过慢的解决方法
  15. 微软认知服务的使用 – 漫画翻译
  16. Latex实践:一个零Latex基础的术渣花了一天半的时间用Latex完成一篇SCI论文编辑
  17. Scrapy爬取1908电影网电影数据
  18. 计算机网络安全说课稿,7.1 计算机网络的安全问题说课稿【一等奖】
  19. 【Unity】碰撞后缩小比例并与碰撞目标紧贴(吸附效果)
  20. 模拟LED屏幕文字滚动开发和悬浮

热门文章

  1. C语言实现字符串转十六进制
  2. 博通向芯片交换机中新增软件控制功能
  3. 4.Python3标准库--算法
  4. 数据库SQL实战-查找所有员工的last_name和first_name以及对应的dept_name(mysql)
  5. 利用画布canvas,实现图片编辑马赛克效果。canvas.putImageData()实现不一样的马赛克
  6. lilo是什么意思_LILO LILO的意思解释|LILO是什么意思 -我酷百科
  7. 如何在Windows 10桌面显示我的电脑和控制面板等系统图标
  8. 淘宝店铺所有商品接口,商品列表接口,1688店铺所有商品接口,商品列表接口
  9. 全面屏虚拟按键高度适配
  10. 栈与队列的定义与区别