欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > AES加解密工具类

AES加解密工具类

2025/10/23 13:59:16 来源:https://blog.csdn.net/weixin_42326851/article/details/139768588  浏览:    关键词:AES加解密工具类

文章目录

  • 前言
  • 一、AES加解密工具类
  • 总结

前言

  • 当涉及到数据的安全性和保密性时,加密是一种关键的技术手段。AES(Advanced Encryption Standard)是一种广泛使用的对称加密算法,被认为是目前最安全和最常用的加密算法之一。

一、AES加解密工具类

package org.springblade.modules.data.util;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;/*** AES 加解密工具** @author kk*/
public class AESUtil {static Logger logger = LoggerFactory.getLogger(AESUtil.class);// 密钥public static String key = "00B1E5452B9D453EC109D9B656150AF2";private static String charset = "utf-8";// 加密器类型:加密算法为AES,加密模式为CBC,补码方式为PKCS5Paddingprivate static String transformation = "AES/ECB/PKCS5Padding";// 算法类型:用于指定生成AES的密钥private static String algorithm = "AES";/*** 加密*/public static String encrypt(String content) {return encrypt(content, key);}/*** 解密*/public static String decrypt(String content) {return decrypt(content, key);}/*** 加密** @param content 需要加密的内容* @param key     加密密码* @return*/public static String encrypt(String content, String key) {try {//构造密钥SecretKeySpec skey = new SecretKeySpec(key.getBytes(), algorithm);//创建AES加密器Cipher cipher = Cipher.getInstance(transformation);byte[] byteContent = content.getBytes(charset);//使用加密器的加密模式cipher.init(Cipher.ENCRYPT_MODE, skey);// 加密byte[] result = cipher.doFinal(byteContent);//使用BASE64对加密后的二进制数组进行编码
//            return new String(new Base64().encode(result));return Base64.getEncoder().encodeToString(result);} catch (Exception e) {e.printStackTrace();logger.info("{}", e);}return null;}/*** AES解密** @param content 待解密内容* @param key     解密密钥* @return 解密之后* @throws Exception*/public static String decrypt(String content, String key) {try {SecretKeySpec skey = new SecretKeySpec(key.getBytes(), algorithm);Cipher cipher = Cipher.getInstance(transformation);//解密时使用加密器的解密模式cipher.init(Cipher.DECRYPT_MODE, skey);// 初始化byte[] result = cipher.doFinal(Base64.getMimeDecoder().decode(content));return new String(result); // 解密} catch (Exception e) {e.printStackTrace();logger.info("{}", e);}return null;}public static void main(String[] args) {
//        String s = "{\"username\":\"aqgc\",\"password\":\"V@654321\"}";String s = "京A55645";
//        String encryptResultStr = encrypt(s, "kcc1YgEJZ%NLc%kY");String encryptResultStr = encrypt(s);// 加密System.out.println("加密前:" + s);System.out.println("加密后:" + encryptResultStr);// 解密System.out.println("解密后:" + decrypt(encryptResultStr));String base64Encode = Base64.getEncoder().encodeToString(s.getBytes());System.out.println("base64加密后:" + base64Encode);System.out.println("base64解密后:" + new String(Base64.getDecoder().decode(base64Encode)));}
}

总结

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!

参考1

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词