1、ASE 加密简单概述
ASE(Advanced Encryption Standard)是一种对称加密算法,也称为Rijndael加密算法。ASE加密算法是采用相同的密钥对明文进行加密和解密,ASE加密算法主要有三种密钥长度:128位、192位和256位。加密的主要过程有初始处理、轮变换和最终处理,其中轮变换是ASE加密算法的核心,它包括SubBytes、ShiftRows、MixColumns和AddRoundKey四个步骤,是通过多轮循环来达到加密的效果。
实际运用:可以对接口的返回数据进行加密。
2、代码实操
// 生成加密密钥
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); keyGenerator.init(128); SecretKey secretKey = keyGenerator.generateKey();
byte[] keyBytes = secretKey.getEncoded();
Key key = new SecretKeySpec(keyBytes, "AES");
String keyStr = Base64.getEncoder().encodeToString(key.getEncoded()); System.out.println("生成的密钥:" + keyStr);
// 对内容进行加密
String encode = AESUtils.encode(keyStr, "118926020");
System.out.println("加密:" + encode);
// 对内容进行解密
System.out.println("解密:" + AESUtils.decode(key, encode);
// 坐标
// <dependency>
// <groupId>cn.joey.encrypt</groupId>
// <artifactId>joey-encrypt</artifactId>
// <version>${joey-encrypt.version}</version>
// </dependency>