gpt4 book ai didi

java - 在 Spring Boot 中加密应用程序属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:16 25 4
gpt4 key购买 nike

因此,我进行了一些谷歌搜索并阅读了一些关于 Spring Cloud 的文档,但为了真正惩罚自己,我正在努力了解究竟如何使用“{cipher}”加密敏感的应用程序属性作品。

例如在 application.yml...

Spring.datasource.password: '{cipher} abdjdbdjfb15168gddbdk3900289'

我的理解是将其提交到 repo 是安全的,并且 spring boot 使用 bootstrap.yml 中的 encrypt.key 以便在需要时对其进行解密。

我不明白的是为什么将 encrypt.key 提交到存储库是安全的?如果您不这样做,那么我应该如何利用它?

我还在 heroku 文档上找到了一个链接,您可以将其设置为服务器中的配置变量吗?

最重要的是,我有很多问题,最重要的是,我什至不确定我需要问什么问题。因此,我希望知道自己在做什么的人可以为我指出一些正确的方向,包括一些链接以供阅读等,以便让我继续前进吗?

提前致谢!

最佳答案

首先,查看关于 encryption 的引用文档在 Spring Cloud Config 中解释了配置支持的可能性。

如果您无法控制对源代码存储库的访问,则您应该永远不要将 key 等敏感数据提交到源代码存储库。不仅是常规访问,还有物理访问、备份……。

处理 key 的首选方法是将 key 存储在尽可能少的地方,最好只存储在进行解密的服务器端。您可以选择使用引导配置、系统属性或环境变量作为将 key 传递给运行时的机制。

您可能想查看 HashiCorp Vault support因为 Vault 解决了 key 管理的先有鸡还是先有蛋的问题。相反,您可以获得一个 Vault token (从您的客户端应用程序内部,或在服务器上配置一个 token ),Vault 将为您处理加密/解密。

关于java - 在 Spring Boot 中加密应用程序属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46692054/

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