最近,我根据RFC 6238使用TOTP实现2FA。引起我注意的是默认值:30秒时间步,epoch作为计数的开始时间,特别是广泛使用的参数(不是RFC直接推荐的) ):在Base32中表示的秘密,长度为6的代码和作为基础算法的HMAC-SHA1。我的问题:
答案 0 :(得分:1)
第一个问题的答案取决于您的需求。如果您已经在服务器上实现了2FA并且正在寻找一些应用程序来在客户端生成代码 - 您只需要选择一个已经支持使用不同参数的应用程序,这样您就可以确保下一个应用程序更新赢了&# 39; t打破了你的身份验证系统。
至于常见的实现:大多数auth服务器使用6位代码,使用Base32和SHA1中的32个符号种子作为散列函数,但我遇到了一些带有SHA-256和52个符号的系统种子。