2

我想在我的网站上使用 2fa 的谷歌身份验证器和 totp 算法。我有 2 个关于生成 QR 密码的问题。

我计划使用保险库来存储机密以更安全,但我的问题是有没有其他方法可以每次生成机密而不是将其存储在某个存储中?

我在教程中读到我需要为每个用户使用随机密码并将该密码存储在数据库中以进行 otp 验证。

我的想法是将特定秘密存储在安全的地方,并为每个用户使用该秘密生成散列。例如,使用 mySecret+userId 生成哈希

这是一种安全的方式吗?

4

1 回答 1

0

使用主密码并使用 sha256 生成用户密码是个坏主意。因为生成的秘密和 QR 总是相同的。如果用户丢失了他的手机并想要删除 QR 码并获得一个新的 QR,这是不可能的。最佳实践是生成随机秘密并将它们存储在保险库中。

于 2019-07-31T21:02:33.713 回答