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