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 每天学习一点点
  • 相关阅读:
    谷歌浏览器禁用缓存
    web项目中各种路径的获取
    visual studio 2015常用快捷键
    Jquery实际应用,判断radio,selelct,checkbox是否选中及选中的值
    JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度
    OAuth学习总结
    今日技术碎片
    碎片化的一天
    软件架构简史
    竞态条件概念
  • 原文地址:https://www.cnblogs.com/scode2/p/14306895.html
Copyright © 2011-2022 走看看