在我的 J2EE 应用程序中以加密形式存储外部系统的密码

Par*_*raj 5 encryption passwords jakarta-ee

我们有一个与多个外部系统通信的 J2EE 应用程序。每个外部系统都希望我们的应用程序通过用户名/密码进行身份验证。因此,每当我们与外部系统通信时,我们都需要发送用户名/密码。问题是存储这些密码。我们希望以安全的形式存储这些密码。显然我们不能使用 MD5 来哈希密码,因为我们需要将密码发送到外部系统。所以我们需要对密码进行加密。

  1. 存储加密密码的位置。数据库?
  2. 在哪里存储加密密钥?

对于这个特定问题的最佳实践是什么?

Har*_*hip 1

我不是专家,但我也有类似的要求。security.stackexchange.com 上的这篇文章讨论了这个问题。接受的答案给出了替代方案。简而言之,它们是:

  • 将它们存储在文件系统上,如果有人获得对文件系统的访问权限,它们就会容易受到攻击
  • 强制管理员在启动时输入它们