package com.tianwen.springcloud.open.space.utils;
import java.nio.charset.StandardCharsets;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* AES解密密码
*
* @author Administrator
*/
public class AESUtil
{
private static final Logger logger = LoggerFactory.getLogger(AESUtil.class);
private final static String KEY = "d12acfcbea4f9631";
private final static String IV = "tianwen@eco12345";
public static String desEncrypt(String data)
{
try
{
byte[] encrypted1 = new Base64().decode(data);
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
SecretKeySpec keyspec = new SecretKeySpec(KEY.getBytes(), "AES");
IvParameterSpec ivspec = new IvParameterSpec(IV.getBytes());
cipher.init(Cipher.DECRYPT_MODE, keyspec, ivspec);
byte[] original = cipher.doFinal(encrypted1);
return StringUtils.trim(new String(original, StandardCharsets.UTF_8));
}
catch (Exception e)
{
logger.error("解密失败", e);
return null;
}
}
public static String encrypt(String data)
{
try
{
byte[] encrypted1 = data.getBytes(StandardCharsets.UTF_8);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec keyspec = new SecretKeySpec(KEY.getBytes(), "AES");
IvParameterSpec ivspec = new IvParameterSpec(IV.getBytes());
cipher.init(Cipher.ENCRYPT_MODE, keyspec, ivspec);
byte[] original = cipher.doFinal(encrypted1);
return Base64.encodeBase64String(original);
}
catch (Exception e)
{
logger.error("加密失败", e);
return null;
}
}
public static void main(String[] args)
{
System.out.println(desEncrypt("+Qjg1e7H1Y8373WZ5tMoVz40v+SjMFfEIlwTOlIIg7Q="));
System.out.println(encrypt("Dc_*twsM@052020&eDcbj"));
System.out.println(encrypt("TWSM@admin2020"));
}
}