Spring Boot 配置文件属性加密解密问题

竹隐江南 发布于 2016/08/31 15:46
阅读 5K+
收藏 3

properties文件中的数据库用户名和密码 要求加密,

这样子加密了,启动的时候需要解密,这个怎么做?

望告知,找了一些资料,没成功

加载中
0
皮皮狗
public class CryptUtils {
    private final static String KEY = "TjE5MGQ5";

    private final static String ENT = "Blowfish";

    public static String decrypt(String secret) {
//        System.out.println("reset => " + secret);
        try {
            byte[] kbytes = KEY.getBytes();
            SecretKeySpec key = new SecretKeySpec(kbytes, ENT);

            BigInteger n = new BigInteger(secret, 16);
            byte[] encoding = n.toByteArray();

            Cipher cipher = Cipher.getInstance(ENT);
            cipher.init(Cipher.DECRYPT_MODE, key);
            byte[] decode = cipher.doFinal(encoding);
            return new String(decode);
        } catch (Exception e) {
            return secret;
        }
    }

    public static void main(String[] args) {
        System.out.println(decrypt("5a2eff87efec511e"));
    }
}



配置一个 解密的 utils 就行了,一般用的都是Blowfish 加密算法工具类如下:


0
皮皮狗
说错了 是解密算法。。。
0
竹隐江南
竹隐江南

引用来自“皮皮狗”的评论

public class CryptUtils {
    private final static String KEY = "TjE5MGQ5";

    private final static String ENT = "Blowfish";

    public static String decrypt(String secret) {
//        System.out.println("reset => " + secret);
        try {
            byte[] kbytes = KEY.getBytes();
            SecretKeySpec key = new SecretKeySpec(kbytes, ENT);

            BigInteger n = new BigInteger(secret, 16);
            byte[] encoding = n.toByteArray();

            Cipher cipher = Cipher.getInstance(ENT);
            cipher.init(Cipher.DECRYPT_MODE, key);
            byte[] decode = cipher.doFinal(encoding);
            return new String(decode);
        } catch (Exception e) {
            return secret;
        }
    }

    public static void main(String[] args) {
        System.out.println(decrypt("5a2eff87efec511e"));
    }
}



配置一个 解密的 utils 就行了,一般用的都是Blowfish 加密算法工具类如下:


算法我有~  在发完这个问题后,我灵感一发,解决了哇哈哈。我自己写了个方法加载propertes,就好了
0
马甲12345

如何解决的  求发出来

0
竹隐江南
竹隐江南

引用来自“马甲12345”的评论

如何解决的  求发出来

额,我当时用的springboot 1.2方法很老旧了,现在用的新版本可以用这个。给你个文章https://segmentfault.com/a/1190000007141178

马甲12345
加密算法我这有,我是想在配置文件里面配置加密的密码,然后在@EnableAutoConfiguration之前把密码解密即可,请问springboot有类似的做法吗
0
心琴22
心琴22

请问一下你是怎么解决的呢?能贴一下代码么?我也试过方法重新加载properties文件,但是没有成功

竹隐江南
竹隐江南
很早之前的了,你可以看一下jasper加密,用的ENC()加密解密
返回顶部
顶部