public class DESUtils {
private static String keyStr = "f41087ef";
private static String py = "4cd4bba8";
/**
* 加密
* @param data
* @return
*/
public static String encryptString(String data){
try {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec keySpec = new DESKeySpec(keyStr.getBytes("UTF-8"));// 设置密钥参数
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(py.getBytes("UTF-8"));
cipher.init(Cipher.ENCRYPT_MODE, key, iv);//ECB模式
byte[] result = cipher.doFinal(data.getBytes("UTF-8"));
return Base64.getEncoder().encodeToString(result);
}catch (Exception ex){
ex.printStackTrace();
}
return "";
}
/**
* 加密
* @param data
* @return
*/
public static byte[] encryptBtye(byte[] data){
try {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec keySpec = new DESKeySpec(keyStr.getBytes("UTF-8"));// 设置密钥参数
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(py.getBytes("UTF-8"));
cipher.init(Cipher.ENCRYPT_MODE, key, iv);//ECB模式
byte[] result = cipher.doFinal(data);
return result;
}catch (Exception ex){
ex.printStackTrace();
}
return null;
}
/**
* 解密
* @param encryString
* @return
*/
public static String decodeString(String encryString){
try {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec keySpec = new DESKeySpec(keyStr.getBytes("UTF-8"));// 设置密钥参数
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
byte[] decode = Base64.getDecoder().decode(encryString);
Cipher cipher1 = Cipher.getInstance("DES/CBC/PKCS5Padding");
IvParameterSpec iv1 = new IvParameterSpec(py.getBytes("UTF-8"));
cipher1.init(Cipher.DECRYPT_MODE, key, iv1);//解密模式
byte[] des = cipher1.doFinal(decode);
return new String(des);
}catch (Exception ex){
ex.printStackTrace();
}
return "";
}
/**
* 解密
* @param encryByte
* @return
*/
public static byte[] decodeByte(byte[] encryByte){
try {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec keySpec = new DESKeySpec(keyStr.getBytes("UTF-8"));// 设置密钥参数
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
Cipher cipher1 = Cipher.getInstance("DES/CBC/PKCS5Padding");
IvParameterSpec iv1 = new IvParameterSpec(py.getBytes("UTF-8"));
cipher1.init(Cipher.DECRYPT_MODE, key, iv1);//解密模式
byte[] des = cipher1.doFinal(encryByte);
return des;
}catch (Exception ex){
ex.printStackTrace();
}
return null;
}
}
java实现DES加密
最新推荐文章于 2024-04-17 16:32:38 发布