|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
dmzn (dmzn) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2020/10/17 18:57:53 |
标题: |
基于Google Authenticator的动态口令 |
浏览:888 |
|
加入我的收藏 |
楼主: |
技术特性: 1.TOTP: Time-based One-Time Password,基于时间戳算法的一次性密码. 2.Google Authenticator: 可运行在Android和IOS的OTP客户端,每30秒更新一次口令.
工作原理: 以系统system中的用户user为例 1.user启用动态口令时,system使用Base32生成密钥(key)并生成二维码,信息为: otpauth://totp/user@system?secret=key 2.user使用手机端的Google Authenticator扫描二维码,开启动态口令成功 3.system将key写入user信息表. 4.user输入用户名user和Google Authenticator中口令登录系统,system从user信息表中取出key,使用HMAC-SHA-1 和 当前时间戳计算密码. 5.只要Google Authenticator所在设备时间 与 system时间一致,则system计算出的密码与Google Authenticator的密码一致,登录验证通过.
使用场景: 1.替代用户密码 或 验证码 2.用户身份二次验证. 3.用户安全性要求较高的操作.
附件使用说明: 1.HMAC-SHA-1使用indy提供的算法. 2.indy对象使用了对象池,改为直接创建后,在Delphi10.2编译通过.
----------------------------------------------
生活愉快. |
作者: |
|
2020/10/17 22:01:01 |
1楼: |
生活愉快.
----------------------------------------------
阳光总在
|
|