public class SecurityHelper
{
/**
* 加密
* @param text 待加密内容
* @param key 密钥
* @return 密文
*/
public static String DESEncrypt(String text, String key)
{
try
{
// 进行3-DES加密后的内容的字�?
DESedeKeySpec dks = new DESedeKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");
SecretKey skey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DESede");
cipher.init(Cipher.ENCRYPT_MODE, skey);
byte[] encryptedData = cipher.doFinal(text.getBytes());
// 进行3-DES加密后的内容进行BASE64编码
BASE64Encoder base64en = new BASE64Encoder();
return base64en.encode(encryptedData);
} catch (Exception e){
e.printStackTrace();
return text;
}
}
/**
* 解密
* @param text 待解密内容
* @param key 密钥
* @return
*/
public static String DESDecrypt(String text, String key)
{
try
{
// 进行3-DES加密后的内容进行BASE64解码
BASE64Decoder base64Decode = new BASE64Decoder();
byte[] base64DValue = base64Decode.decodeBuffer(text);
// 进行3-DES解密后的内容的字�?
DESedeKeySpec dks = new DESedeKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");
SecretKey skey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DESede");
cipher.init(Cipher.DECRYPT_MODE, skey);
byte[] encryptedData = cipher.doFinal(base64DValue);
return new String(encryptedData);
} catch (Exception e)
{
e.printStackTrace();
return text;
}
}
}
public class FileEncrypt {
public static void Encrypt()
{
InputStream inputStream;
try {
inputStream = new FileInputStream("src/main/resources/config.properties");
FileOutputStream fos = new FileOutputStream("src/main/resources/configEncrypt.properties");
Scanner scanner = new Scanner(inputStream, "UTF-8");
String text = scanner.useDelimiter("\\A").next();
scanner.close();
String encode = SecurityHelper.DESEncrypt(text, "as!2e4b4%1b6e2&ba5.-011b?720f-=+");
System.out.println("============================加密前=============================");
System.out.println(text);
System.out.println("============================加密后=============================");
System.out.println(encode);
fos.write(encode.getBytes("UTF-8"));
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void DEcrypt()
{
InputStream inputStream;
try {
inputStream = new FileInputStream("src/main/resources/configEncrypt.properties");
FileOutputStream fos = new FileOutputStream("src/main/resources/configDecrypt.properties");
Scanner scanner = new Scanner(inputStream, "UTF-8");
String text = scanner.useDelimiter("\\A").next();
scanner.close();
String code = SecurityHelper.DESDecrypt(text, "as!2e4b4%1b6e2&ba5.-011b?720f-=+");
System.out.println("============================解密前=============================");
System.out.println(text);
System.out.println("============================解密后=============================");
System.out.println(code);
fos.write(code.getBytes("UTF-8"));
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
Encrypt();
DEcrypt();
}
}
推荐一个淘宝返利网,每天9块9包邮还返利。现在登录还有9元支付宝红包送你哦!taofen8.com/invite/ADL56II0
转载于:https://blog.51cto.com/owen563/1287692