AES加密之后经过Base64转码

来源:互联网 发布:手机版淘宝怎么买二手 编辑:程序博客网 时间:2024/04/30 12:55
package com.tickets.util;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import org.apache.log4j.Logger;/** * 加解密工具类 * @author ljw * 2017年12月25日 */public class PwdUtil {  static Logger logger = Logger.getLogger(PwdUtil.class);  /**   * 加密   *    * @param content   *          需要加密的内容   * @param password   *          加密密码   * @return   */  public static String encrypt(String content, String password) throws Exception {    try {      byte[] raw = password.getBytes("UTF-8");      if (raw.length != 16) {        throw new IllegalArgumentException("Invalid key size. " + password + ", 密钥 token 长度不是16 位");      }      javax.crypto.spec.SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");      javax.crypto.Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");      cipher.init(Cipher.ENCRYPT_MODE, skeySpec,          new javax.crypto.spec.IvParameterSpec(new byte[16])); // zero      byte[] fina = cipher.doFinal(content.getBytes("UTF-8"));      return new String(org.apache.commons.codec.binary.Base64.encodeBase64(fina));    } catch (Exception e) {      logger.error(e.getMessage(), e);      throw e;    }  }  /**   * 解密   *    * @param content   *          需要解密的内容   * @param password   *          加密密码   * @return   */  public static String decrypt(String content, String password) throws Exception {    try {      byte[] raw = password.getBytes("UTF-8");      if (raw.length != 16) {        throw new IllegalArgumentException("Invalid key size. " + password + ", 密钥 token 长度不是16 位");      }      SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");      Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");      cipher.init(Cipher.DECRYPT_MODE, skeySpec, new IvParameterSpec(new byte[16]));      byte[] toDecrypt = org.apache.commons.codec.binary.Base64.decodeBase64(content.getBytes());      byte[] original = cipher.doFinal(toDecrypt);      return new String(original, "UTF-8");    } catch (IllegalArgumentException e) {      logger.error(e.getMessage(), e);      throw e;    } catch (Exception e) {      logger.error(e.getMessage(), e);    }    return null;  }}

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 牙老是疼是怎么回事 牙疼怎么回事啊 牙疼是为什么 满嘴牙疼怎么回事 经常牙疼怎么办 经常牙齿痛是什么原因 牙齿经常痛是什么原因 老是牙疼怎么回事 老牙疼是怎么回事 经常牙疼是什么原因 牙疼怎么办快速止疼 快速止牙疼方法 上牙疼 蛀牙疼该怎么办 咽痛怎么办 孕期牙疼怎么办 牙疼怎么办啊 小孩牙疼怎么止疼 老是上火怎么办 驻牙疼 怎么样快速止牙痛 怎么能快速止牙痛 有什么快速止牙痛的方法 怎样才能缓解牙痛 什么病会引起牙痛 立刻缓解孕妇窟窿牙痛小妙招 什么可以快速止牙痛 吃甲硝唑几个小时能缓解牙痛 怎么判断是不是上火引起牙痛 牙盘 牙盘矫正 牙苗菜种植盘 盘牙裂了 fsa牙盘 自行车牙盘 牙盘是什么 dex牙盘 牙盘怎么拆 链条牙盘 山地车牙盘品牌 21速牙盘