zoukankan      html  css  js  c++  java
  • 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"));
        }
    }
    编程PDF电子书免费下载: http://www.shitanlife.com/code 每天学习一点点
  • 相关阅读:
    UVa 1151 Buy or Build【最小生成树】
    UVa 216 Getting in Line【枚举排列】
    UVa 729 The Hamming Distance Problem【枚举排列】
    HDU 5214 Movie【贪心】
    HDU 5223 GCD
    POJ 1144 Network【割顶】
    UVa 11025 The broken pedometer【枚举子集】
    HDU 2515 Yanghee 的算术【找规律】
    Java基本语法
    Java环境变量,jdk和jre的区别,面向对象语言编程
  • 原文地址:https://www.cnblogs.com/scode2/p/14306895.html
Copyright © 2011-2022 走看看