【发布时间】:2017-12-15 06:34:58
【问题描述】:
我们正在将一个在 Linux 上运行的 PHP 应用程序迁移到我们用 C# 实现并在 Windows 上运行的新单点登录 (SSO) 基础架构。
作为迁移过程的一部分,我们需要 C# SSO 基础架构能够以与 PHP 应用程序完全相同的方式对密码进行哈希处理。
虽然 PHP 应用程序使用了一种相当合理的密码散列算法,但除了密码和盐之外,不幸的是,被散列的字符串还包含盐值的余弦值(解释为整数)。 .. 一个相当不寻常的决定,把它放在中间。
不出所料,在 PHP 和 C# 中计算大整数的余弦会导致结果略有不同。这意味着我们可能无法在新的 SSO 基础架构中可靠地重新实现旧密码哈希算法。
我们想到的一个解决方案是在 AWS Lambda 中运行 PHP 密码哈希函数,并从我们的 SSO 基础设施中查询该 Lambda。
你能想到其他选择吗?
【问题讨论】: