J2EE配置文件加密

来源:互联网 发布:ubuntu svn库创建 编辑:程序博客网 时间:2024/06/06 03:52
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 = newFileOutputStream("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 = newFileOutputStream("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();
    }
}
原创粉丝点击