J2EE配置文件加密

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;
         }
     }
                                                                      
}





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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();
     }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值