sql-server-2008 - 存储 TOTP 的 key

标签 sql-server-2008 authentication encryption google-authenticator

我希望将我的网站 (C#/SQL 2008) 设置为允许使用 Google Authenticator 进行两因素身份验证。我的网站正在运行,从获取二维码到生成上一个/当前/下一个 key (我很乐意接受 3 个,以防时钟不同步)。

显然我们需要为每个用户生成一个 key ,否则每个用户都会有相同的一次性密码。

我的问题是存储此 key 的最佳实践是什么?我可以将其以纯文本形式存储在用户表中,还是应该加密?

最佳答案

为什么不varchar?据我所知,谷歌的二维码是一个字母数字字符串(你可以手写,以防你懒得安装二维码扫描仪)

在我的个人大学项目中,我生成了一个 128 个字符长的字母数字字符串,并将其发送到我的自定义 TOTP 应用程序,我的数据库将此信息存储为 VARCHAR(128) ,

我认为最佳实践答案取决于 key 有多大以及 key 空间是如何定义的,而不是 62 个字母数字,为什么不使用整个 ascii 表?您需要将 key 存储为 varbyte 对吗?

关于sql-server-2008 - 存储 TOTP 的 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271136/

相关文章:

c++ - URLDownloadToFile 和身份验证

.net - 如何将 RUNAS/NETONLY 功能构建到 (C#/.NET/WinForms) 程序中?

javascript - 是否有任何 JavaScript 库可以读取 .cer 文件并从中获取 key ?

sql-server-2008 - SQL 查询性能不佳

asp.net - SqlCacheDependency在 View 和过程上

sql - 从 SQL Server 中的十进制中删除尾随零

git - 如何确保提交作者

java - 如何修复无效的 AES key 长度?

c# - 加密部分应用程序配置配置部分 c#

sql - SQL 中的多个 XML 标记