AES 128位加解密
一.AES 简介
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一.
二. EncryptionUtil 工具类
package cn.gdmcmc.iovs.hamcmd5.aes;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.crypto.*;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
* @Description:AES128 加密
* @Author:lighter
* @Date:2019/9/9 10:51
* @Version 1.0
*/
public class EncryptionUtil {
// 加密
public static String Encrypt(String sSrc, String sKey,String cKey) throws Exception {
if (sKey == null) {
System.out.print("Key为空null");
return null;
}
// 判断Key是否为16位
if (sKey.length() != 16) {
System.out.print("Key长度不是16位");
return null;
}
//获得utf-8编码数组
byte[] raw = sKey.getBytes