java证书的加密与解密代码
public static String decryptString(String value) {
return decryptString(value, DEFAULT_KEY);
}
/**
* 解密字符串
* @param value base64形式存在的密文
* @param key base64形式存在的密钥
* @return 明文
* @throws IOException
*/
public static String decryptString(String value, String key) throws IOException {
String s=decryptString(value, base64ToBytes(key));
return s;
}
/**
* 解密字符串
* @param value base64形式存在的密文
* @param key 字节数据形式存在的密钥
* @return 明文
*/
public static String decryptString(String value, byte[] key) {
try {
byte[] data=base64ToBytes(value);
data=CryptUtils.decryptData(data, key);
return new String(data, VALUE_ENCODING);
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}
CryptHelper.java
[java]
package com.gdie.lab.crypt;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import org.springframework.util.DigestUtils;
public class CryptHelper{
private static String CRYPT_KEY = "zhongqian";
//加密
private static Cipher ecip;
//解密
private static Cipher dcip;
static {
try {
String KEY = DigestUtils.md5DigestAsHex(CRYPT_KEY.getBytes()).toUpperCase();
KEY = KEY.substring(0, 8);
byte[] bytes = KEY.getBytes();
DESKeySpec ks = new DESKeySpec(bytes);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey sk = skf.generateSecret(ks);
IvParameterSpec iv2 = new IvParameterSpec(bytes);
ecip = Cipher.getInstance("DES/CBC/PKCS5Padding");
ecip.init(Cipher.ENCRYPT_MODE, sk, iv2);
dcip = Cipher.getInstance("DES/CBC/PKCS5Padding");
dcip.init(Cipher.DECRYPT_MODE, sk, iv2);
}catch(Exception ex) {
ex.printStackTrace();
}
}
public static String encrypt(String content) throws Exception {
byte[] bytes = ecip.doFinal(content.getBytes("ascii"));
return CryptUtils.byte2hex(bytes);
}
public static String decrypt(String content) throws Exception {
byte[] bytes = CryptUtils.hex2byte(content);
bytes = dcip.doFinal(bytes);
return new String(bytes, "ascii");
}
//test
public static void main(String[] args) throws Exception {
String password = "gly";
String en = encrypt(password);
System.out.println(en);
System.out.println(decrypt(en));
}
}
package com.gdie.lab.crypt;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import org.springframework.util.DigestUtils;
public class CryptHelper{
private static String CRYPT_KEY = "zhongqian";
//加密
private static Cipher ecip;
//解密
private static Cipher dcip;
static {
try {
String KEY = DigestUtils.md5DigestAsHex(CRYPT_KEY.getBytes()).toUpperCase();
KEY = KEY.substring(0, 8);
byte[] bytes = KEY.getBytes();
DESKeySpec ks = new DESKeySpec(bytes);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey sk = skf.generateSecret(ks);
IvParameterSpec iv2 = new IvParameterSpec(bytes);
ecip = Cipher.getInstance("DES/CBC/PKCS5Padding");
ecip.init(Cipher.ENCRYPT_MODE, sk, iv2);
dcip = Cipher.getInstance("DES/CBC/PKCS5Padding");
dcip.init(Cipher.DECRYPT_MODE, sk, iv2);
}catch(Exception ex) {
ex.printStackTrace();
}
}
public static String encrypt(String content) throws Exception {
byte[] bytes = ecip.doFinal(content.getBytes("ascii"));
return CryptUtils.byte2hex(bytes);