DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: deliping
今日帖子: 2
在线用户: 1
导航: 论坛 -> 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编译通过.
此帖子包含附件:dmzn_20201017185742.rar 大小:1.98M
----------------------------------------------
生活愉快.
作者:
男 ww1000 (Delphis) ▲▲▲▲▲ -
普通会员
2020/10/17 22:01:01
1楼: 生活愉快.
----------------------------------------------
阳光总在
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行73.24219毫秒 RSS