存储外部服务的密码

时间:2018-04-12 13:35:17

标签: database encryption passwords

我正在寻找关于什么是最平易近人/最安全的方式的想法,将密码存储在应用程序中,这是外部服务所需要的(外部服务不支持任何类型的令牌,只是普通密码验证)。

大约有10个密码,我需要定期存储和使用,所以不要太多。

我的想法:

  • 数据库中的纯文本(当然,这绝对没有选择,只是为了完整性)
  • 直接在应用程序内部,硬编码(非常糟糕的想法恕我直言,因为它将在源代码控制和可能的CI日志中)
  • 环境变量(可以是一个选项,但由于大约有10个用户/密码组合,它会污染整个事物)
  • 使用同步加密并将密码存储在数据库中(无需散列,因为我需要以纯文本格式获取密码才能访问远程服务)

感谢任何有利有弊的想法/输入或任何有用资源的链接(因为我无法真正了解这个主题)

1 个答案:

答案 0 :(得分:1)

这里有很多这样的问题,凭证的问题是......你需要将它们存储在某个地方

我同意硬编码凭据是一个非常糟糕的主意,imho你拥有的最佳选择是数据库或配置(文件或环境变量)

如果你可以存储凭证明文或加密它们,现在它取决于你,但是加密密钥也需要存储在某个地方..