我正在使用使用Spring Boot开发应用程序,必须将一些密钥添加到文件中,但是在提交并将文件推送到Git时,它一定不对公众可见。
由于文件中的密钥需要安全,如何为这些文件提供安全性或任何加密?
如前所述,不要将这些文件推送到公共存储库,或你认为团队中其他开发人员不应具有访问权限的任何存储库。
通过使用.gitignore
文件,可以轻松确保这些文件不会以某种方式提交:
gitignore - 指定要忽略的有意未跟踪的文件
请参阅: .gitignore 文档
以下是有用的.gitignore配置的集合: 有用的 .gitignore 模板的集合
与其使用加密,不如使用目录和存储库结构,如下所示:
项目目录:所有项目文件,无机密。
机密目录:仅机密。
项目存储库:公共存储库。
机密存储库:允许受信任的开发人员访问的私有存储库。
然后在项目中,您只需引用机密目录中的必要机密即可。
如果您决定使用 GPG 加密(不建议这样做,因此您必须记住不要错误地推送未加密的文件(,您可以使用基本的对称密码。在 Unix 机器上,安装 gpg,然后使用以下终端命令 - 它将请求密码并生成加密的 .gpg 文件。
-c, --仅使用对称密码进行对称加密
gpg -c secrets.txt
应将该键另存为环境变量。
如何存储和检索该值将取决于您使用的工具。 在你的情况下,我认为Spring框架真的可以做到。
希望您了解逻辑,并可以在您使用的Spring或服务器中找到如何实现该逻辑。