首页 > 其他分享 >AES 加解密

AES 加解密

时间:2022-10-25 15:34:50浏览次数:35  
标签:AES String SecretKeySpec 加解密 Cipher new cipher

依赖

 <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>

代码

import org.apache.commons.codec.binary.Base64;

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;

public class AESUtils {
    public static String encrypt(String content, String key) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");
            cipher.init(Cipher.ENCRYPT_MODE, keySpec);
            byte[] bytes = content.getBytes(StandardCharsets.UTF_8);
            byte[] result = cipher.doFinal(bytes);
            return Base64.encodeBase64String(result);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    public static String decrypt(String content, String key) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");
            cipher.init(Cipher.DECRYPT_MODE, keySpec);
            byte[] bytes = Base64.decodeBase64(content);
            byte[] result = cipher.doFinal(bytes);
            return new String(result, StandardCharsets.UTF_8);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

}

 

标签:AES,String,SecretKeySpec,加解密,Cipher,new,cipher
From: https://www.cnblogs.com/dongma/p/16825012.html

相关文章

  • 基于Spring AOP切面实现请求入参出参加解密
    1.Mavne导入加密解密所需的依赖<dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>1.3.2</version></dep......
  • springboot使用自定义注解实现加解密及脱敏
    原文链接: https://www.yisu.com/zixun/622633.html这篇文章主要介绍springboot中如何使用自定义注解实现加解密及脱敏方式,文中介绍的非常详细,具有一定的参考价值,感兴趣......
  • vue+java AES 加密 解密
    后端:导入aes依赖<!--aes加密工具--><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.15</versi......
  • OS进程取样器调用python3脚本处理jmeter接口加解密,sign鉴权
    1、jmeter脚本编写添加登录请求提取token    通过json提取器提取登录后token值,并设置为全局【方便后续夸线程调用token】    2、在需要sign鉴权,加解......
  • Jmeter使用beanshell加密,调用AES代码,生成jar包
    工作中需要对接口进行AES加密,找开发要来了加密的代码(如下),记录下具体的使用方法:新建一个AESUtil包,在里面新建一个类(建议类的名字也为AESUtil)。把下面的代码复制进去,注意,......
  • Java加解密-SM4国密算法
    SM4国密算法简介SM4依赖包SM4类SM4_Context类SecuritySM4类=================================== SM4国密算法简介与DES和AES算法相似,国密SM4算法是一种分组加密......
  • 加解密模式之CBC模式和ECB模式解读
    1.CBC模式CBC模式的全称:CipherBlockChaining模式(密文分组链接模式),之所以叫这个名字,是因为密文分组像链条一样互相连接在一起。在CBC模式中,首先将明文分组和一个密文......
  • SpringCloud Gateway API接口加解密
    接口范围所有GET请求白名单除外body体是application_json和application_json_utf8的POST请求白名单除外POSTurl传参也支持白名单除外启用禁用/版本后端提......
  • AES加密算法原理及python实现
    AES对称加密算法  AES加密算法即密码学中的高级加密标准(AdvancedEncryptionStandard,AES),又称Rijndael加密法(2000年10月2日,比利时密码专家JoanDaemen和VincentRijmen提......
  • Base64(AES128(字段,秘钥))对称加密
     代码实现如下:publicclassSecurityAESUtils{privatestaticStringAES_KEY="123456789qazwsx#";privatestaticStringAES_MODE="AES/ECB/PKCS5Pa......