gpt4 book ai didi

java - Maven 加密属性

转载 作者:行者123 更新时间:2023-11-30 06:53:09 24 4
gpt4 key购买 nike

我参与的项目中,有些开发人员可以读取加密属性,有些则不能。我需要类似的东西

<properties>
<database.password>someHash</database.password>
</property>

然后在配置文件中使用我想要的过滤(@是由于Spring Boot):

password=@database.password@

属性文件将在编译过程中编译为:

password=superSecretPassword

我认为Maven Password Encryption会有所帮助,但经过一番尝试后,我无法像那样工作。我还找到了Properties maven plugin ,但也没有成功地实现所需的解决方案。

您是否有一些方法如何将加密的属性存储到 pom.xml 中,然后在输入密码后在编译期间解密它们?

最佳答案

正如 @Tunaki 指出的那样,您应该避免在 pom 中或源代码中的任何位置使用密码。获取加密凭证的一种方法是创建 Springs PropertySourcesPlaceholderConfigurer 的自定义实现。

然后,您可以重写 postProcessBeanFactory() 来执行凭证属性文件的加密/解密。在解密过程中,您只需使用解密的属性值调用 setProperties() 即可。在 spring 配置中,您将使用属性占位符而不是纯文本属性值。

请注意,您需要使用双向加密方案而不是消息摘要(或哈希函数),因为您需要恢复纯文本凭据才能创建数据库连接。

关于java - Maven 加密属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42353425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com