Google Authenticator默认HMAC-SHA-1,能否配置为HMAC-SHA-256/512?
Google Authenticator 配置使用 HMAC-SHA-256/512 的方法
Google Authenticator 原生支持通过规范的 OTP 配置方式切换到 HMAC-SHA-256 或 HMAC-SHA-512 算法,无需修改应用本身,具体配置方式如下:
1. 自定义 OTP URI 生成二维码配置
OTP URI 遵循 RFC 6238 扩展规范,核心是通过 algorithm 参数指定哈希算法,格式如下:
otpauth://totp/[账户标识]?secret=[共享密钥]&algorithm=[哈希算法]&digits=[密码位数]&period=[时间步长]
其中 algorithm 的可选值为:
SHA1(默认值)SHA256SHA512
示例(使用 SHA256 的配置 URI):
otpauth://totp/Work:john@company.com?secret=ABCDEFGHIJKLMNOP&algorithm=SHA256&digits=6&period=30
将该 URI 转换成二维码后,用 Google Authenticator 扫描即可添加对应算法的账户。
2. 手动输入高级参数(部分版本支持)
若应用版本支持手动配置高级选项:
- 打开 Google Authenticator,点击「添加账户」→「手动输入」
- 填写账户名和共享密钥
- 点击右上角菜单(⋮)选择「高级选项」
- 在「算法」下拉菜单中选择 SHA256 或 SHA512
- 按需设置密码位数(通常为 6 或 8 位)和时间步长(默认 30 秒),完成添加
关键注意事项
- 必须确保服务器端也配置了相同的哈希算法,否则客户端生成的 OTP 密码会与服务器验证结果不匹配
- 旧版本 Google Authenticator 可能不支持 SHA256/SHA512,建议先更新到最新版本
内容的提问来源于stack exchange,提问作者Roland Beuker
相关产品推荐
相关产品推荐

