spring - 推送到 GIT 时如何加密或保护密钥?
问题描述
我正在使用 Spring Boot 开发应用程序,必须将一些密钥添加到文件中,但是在提交文件并将其推送到 Git 时,它不能对公众可见。
由于文件中的那些密钥需要安全,如何为这些文件提供安全性或任何加密?
解决方案
如前所述,不要将这些文件推送到公共存储库或您认为团队中的其他开发人员不应访问的任何存储库。
您可以通过使用文件轻松确保这些文件不会以某种方式被提交.gitignore
:
gitignore - 指定有意忽略的未跟踪文件
请参阅:.gitignore 文档
这里是有用的.gitignore配置的集合: 有用的 .gitignore 模板的集合
与其使用加密,不如使用如下目录和 repo 结构:
项目目录:所有项目文件,没有秘密。
机密目录:仅限机密。
项目回购:公共存储库。
Secrets repo:私有存储库,可以访问受信任的开发人员。
然后在您的项目中,您只需在secrets 目录中引用必要的秘密。
如果您决定使用 GPG 加密(不推荐,因为您必须记住不要错误地推送未加密的文件),您可以使用基本的对称密码。在 Unix 机器上,安装 gpg 然后使用以下终端命令 - 它将请求密码并生成加密的 .gpg 文件。
-c,--对称加密仅使用对称密码
gpg -c secrets.txt
推荐阅读
- html - 如何在定义的位置换行?
- django - 如何将字符串转换为 CharField
- java - 如何对字符串数组列表、java 8 或 java 11 进行分组
- php - 用户注册后重定向到登录页面。拉拉维尔 5.5
- dialogflow-es - 如何在 Google Assistant 上的帐户链接中替换默认响应
- javascript - Postman 测试 - 使用 http 状态进行调节
- angular - Angular 7 Http响应
- python - 如何在 Pygame 上使用摇杆同时移动和射击?
- python - Python字典通过迭代交换元素值
- c - Hiding number in large pointer array by modifying least significant bit of elements