Stack Overflow 上有很多关于如何存储用户密码的问题,一般建议当然是对密码进行哈希处理并比较哈希值。
但是,假设您正在构建人们在自己的环境中部署的收缩包装 Intranet 应用程序(如 SharePoint)。并假设它需要用户名/密码组合才能通过 HTTP 访问外部服务(不支持依赖 API 密钥或联合安全性的解决方案)。
在这种情况下,我们不能散列密码,因为我们需要将原始密码传递给我们调用的 Web 服务。加密将是第二好的解决方案,但我们将使用什么作为加密密钥?如果被攻击者破坏了数据库,大概他们首先可以访问用于加密数据的任何密钥?
如果您确实需要获取存储密码的纯文本版本,您将如何以最安全的方式解决问题?