AES加密解密

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"));
    }
}

 

posted @ 2021-01-21 11:06  漫步CODE人生  阅读(413)  评论(0编辑  收藏  举报