AES加解密工具类

AES加解密工具类AES 加解密工具类 aes 加密工具类

大家好,欢迎来到IT知识分享网。

文章目录

前言

  • 当涉及到数据的安全性和保密性时,加密是一种关键的技术手段。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 = "00B1E5452B9D453EC109D9BAF2"; private static String charset = "utf-8"; // 加密器类型:加密算法为AES,加密模式为CBC,补码方式为PKCS5Padding private 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@\"}"; 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))); } } 

二、AES加密简介(详细)


总结

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

参考1

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148414.html

(0)
上一篇 2025-03-31 15:10
下一篇 2025-03-31 15:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信