AES的Java实现
来源:互联网 发布:移动3g网络的上传速度 编辑:程序博客网 时间:2024/05/19 20:38
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;
}
}
- AES的Java实现
- AES的Java实现
- AES算法的JAVA实现
- AES加密算法的JAVA实现
- 【JAVA】AES算法的java实现
- AES加密解密算法的Java实现
- Java实现的AES加解密程序
- AES 加密解密的 JAVA 实现 【二】
- JAVA实现AES加密
- JAVA实现AES加密
- JAVA实现AES加密
- JAVA实现AES加密
- java实现AES算法
- JAVA实现AES加密
- JAVA实现AES加密
- JAVA实现AES加密
- JAVA实现AES加密
- JAVA实现AES加密
- Maven根据不同环境打包不同配置文件
- 二维数组—S型排座问题
- 前端优化系列
- javascript事件篇
- C语言面试题---指针篇(五)
- AES的Java实现
- 【ASM】查看ASM磁盘组剩余容量和总容量
- 23种设计模式——单例模式
- vue-router HTML5 History 模式
- 回归分析中的评价方法
- html/CSS 字体样式表 font-family:中文字体的英文名称
- jquery 回车触发事件
- 数据结构课程设计--飞机订票系统
- Android强大log框架Logger使用详解