AES的Java实现

来源:互联网 发布:ubuntu 启动服务命令 编辑:程序博客网 时间:2024/05/28 09:31

  AES的Java实现

  AES(高级加密标准)是美国联邦政府采用的一种区块加密标准,其替代原先的

  DES加密算法,成为对称密钥加密中最流行的算法之一。

  AES加密解密的实现就不具体介绍了,这里直接给出源码:

  package com.demo.project.monitor.util;成都金牛区哪家男科医院治疗尿道炎好?
治疗前列腺炎成都金牛区男科医院那里好?
双流区蛟龙港江治疗阳痿哪家医院好
成都市治疗勃起障碍那里的医院好?

  import javax.crypto.*;

  import javax.crypto.spec.SecretKeySpec;

  import java.io.UnsupportedEncodingException;

  import java.security.InvalidKeyException;

  import java.security.NoSuchAlgorithmException;药流会不会很痛?
成都安靖无痛人流那家医院好?
武侯区治疗阳痿医院哪家比较好
五块石金牛区哪家割包皮好
成都中和镇做人流哪家医院好?

  import java.security.SecureRandom;

  public class AESEncryption {

  private String password = "Password";

  public AESEncryption(){

  }

  public AESEncryption(String password){

  this.password = password;

  }成都中和镇做人流哪家医院好?
成都蛟龙港做人流哪家医院好?
妇科检查去成都哪家医院好
成都市治疗阴道炎妇科医院那里好?

  /**

  * 加密

  * @param content 加密内容

  * @return

  */

  public String encrypt(String content) {

  try {

  KeyGenerator kgen = KeyGenerator.getInstance("AES");

  kgen.init(128, new SecureRandom(password.getBytes()));

  SecretKey secretKey = kgen.generateKey();

  byte[] enCodeFormat = secretKey.getEncoded();

  SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");

  Cipher cipher = Cipher.getInstance("AES");// 创建密码器

  byte[] byteContent = content.getBytes("utf-8");妇科检查去成都哪家医院好
成都市治疗阴道炎妇科医院那里好?
成都郫县治疗月经不调的医院那里好?
成都青羊区哪里有割包皮好的医院
成都九龙医院在线咨询?

  cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化

  byte[] result = cipher.doFinal(byteContent);

  return parseByte2HexStr(result); // 加密

  } catch (NoSuchAlgorithmException e) {

  e.printStackTrace();

  } catch (NoSuchPaddingException e) {

  e.printStackTrace();

  } catch (InvalidKeyException e) {

  e.printStackTrace();金牛区妇科哪里有做妇科检查好的医院?
成都金牛区男科医院哪家较好
成都红光附近治疗早泄哪儿好?
武侯区治疗早泄可靠的男科医院?
金牛区包茎手术费用是多少?

  } catch (UnsupportedEncodingException e) {

  e.printStackTrace();

  } catch (IllegalBlockSizeException e) {

  e.printStackTrace();

  } catch (BadPaddingException e) {

  e.printStackTrace();

  }

  return null;

  }

  /**解密

  * @param content 解密内容

  * @return

  */

  public String decrypt(String content) {

  try {

  KeyGenerator kgen = KeyGenerator.getInstance("AES");

  kgen.init(128, new SecureRandom(password.getBytes()));

  SecretKey secretKey = kgen.generateKey();成都九龙医院在线咨询?
成都双流哪里的医院能够治好阳痿
成都成华区附近哪儿的医院治疗早泄好
郫都区人流医院排行榜?
治疗月经不调成都青白江附近哪里的医院好
双流去哪家妇科医院好?

  byte[] enCodeFormat = secretKey.getEncoded();

  SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");

  Cipher cipher = Cipher.getInstance("AES");// 创建密码器

  cipher.init(Cipher.DECRYPT_MODE, key);// 初始化

  byte[] result = cipher.doFinal(parseHexStr2Byte(content));

  return new String(result); // 解密

  } catch (NoSuchAlgorithmException e) {

  e.printStackTrace();

  } catch (NoSuchPaddingException e) {

  e.printStackTrace();

  } catch (InvalidKeyException e) {

  e.printStackTrace();成都中和镇做人流哪家医院好?
成都蛟龙港做人流哪家医院好?
妇科检查去成都哪家医院好
成都市治疗阴道炎妇科医院那里好?
成都郫县治疗月经不调的医院那里好?
成都青羊区哪里有割包皮好的医院

  } catch (IllegalBlockSizeException e) {

  e.printStackTrace();

  } catch (BadPaddingException e) {

  e.printStackTrace();

  }

  return null;

  }

  /**

  * 将二进制转换成16进制

  * @param buf

  * @return

  */

  private String parseByte2HexStr(byte buf[]) {

  StringBuffer sb = new StringBuffer();

  for (int i = 0; i < buf.length; i++) {

  String hex = Integer.toHexString(buf[i] & 0xFF);

  if (hex.length() == 1) {

  hex = '0' + hex;

  }

  sb.append(hex.toUpperCase());

  }

  return sb.toString();

  }

  /**

  * 将16进制转换为二进制

  * @param hexStr

  * @return

  */

  private byte[] parseHexStr2Byte(String hexStr) {

  if (hexStr.length() < 1)

  return null;

  byte[] result = new byte[hexStr.length()/2];

  for (int i = 0;i< hexStr.length()/2; i++) {

  int high = Integer.parseInt(hexStr.substring(i*2, i*2+1), 16);

  int low = Integer.parseInt(hexStr.substring(i*2+1, i*2+2), 16);

  result[i] = (byte) (high * 16 + low);

  }

  return result;

  }

  }

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 身上有异味怎么办%3f 花钱花多了后悔怎么办 想去当兵有纹身怎么办 爸家里人欺负我妈怎么办 部队退伍登记表填错怎么办 新手程序员第一次做项目怎么办 十六岁月经量少怎么办 大姨妈第一天痛怎么办 月经第一天很疼怎么办 神器挑战任务放弃了怎么办 内蒙古森林武警改革新兵怎么办 手挨打了有点肿怎么办 征兵过程中身份证号重复怎么办 去当兵身上有纹身怎么办 武警警卫部队改革新兵怎么办 肾结石3mm很痛怎么办 剖腹产第6天肾结石痛怎么办 左肾5mm结石怎么办 肾结石手术后反复发烧怎么办 百世快递会被退回怎么办 身份证被列入黑名单了怎么办 顺丰寄方客户要求退回快递费怎么办 蛋蛋被皮筋弹肿了怎么办 人肌肉里的绦虫卵怎么办 鞋子前面踢坏了怎么办 猫割完蛋蛋流东西怎么办 北京怡瑞被骗后怎么办 玩滑板睾丸碎了怎么办 雄鸽不会踩蛋怎么办 玩滑板蛋碎了怎么办 精子在精囊满了怎么办 孩子的睾丸一大一小怎么办 肾阳虚早射该怎么办 有奶水吸不出来怎么办 苹果mac商店里没有软件怎么办 战地1安装包损坏怎么办 战地4db显示数据异常怎么办 战地1亚服没人怎么办 战地一加载太慢怎么办 饥荒手机版怪物跟人就打狗包怎么办 电脑文件损坏开不了机怎么办