database - 为双因素身份验证存储 "backup codes"的最佳方法?

标签 database security web-applications two-factor-authentication

我正在为我的一个副业项目实现双因素身份验证系统,并希望建立一些“一次性代码”,就像 Google 为他们的双因素身份验证所做的那样。

我的问题是,将这些代码存储在服务器上最安全的方法是什么?他们需要在数据库中加密吗?我会使用像 bcrypt 这样的东西来让它们像我散列密码一样吗?我认为这可能有点矫枉过正,因为攻击者会知道每个散列代表一个 6 位数字,这会使暴力破解时间几乎为零。

最佳答案

将您的一次性代码 (OTC) 视为密码。现在使用安全最佳实践来管理密码。

此外,您不应使用 6 位数字作为 OTC。就像我说的,这些是(等同于)密码,您不希望这些密码很弱。

请引用Password Storage Cheat Sheet有关如何安全存储密码的更多信息。

关于database - 为双因素身份验证存储 "backup codes"的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12095681/

相关文章:

database - ORM vs 传统数据库查询,它们的领域是什么?

javascript - 如何信任在互联网上找到的 javascript 开源库

javascript - gwt 独立的模块,没有代码共享

mysql - SQL 到 outfile - 文件存储在哪里? (MySQL, Windows)

sql - 将数据类型 nvarchar 转换为 int 时出错

java - 从数据库检索数据?

security - 将 jwt token 作为 url 的一部分传递是否不好?

python - 在生产过程中 Django 管理站点会发生什么?

php - 如何生成临时电子邮件以在网络应用程序中使用?

web-applications - 如何在Weblogic中显示Java.Util Logger输出?