模拟银行动态口令生成
来源:互联网 发布:版权如何查询知乎 编辑:程序博客网 时间:2024/04/30 10:07
模拟银行动态口令生成
1. 原理
如今动态口令算法采用一次性口令算法,即OTP(One-Time Password Algorithm), 银行使用的动态口令令牌使用的算法是OTP中的一种类型,称之为:TOTP(Time-Based One-Time Password Algorithm) — 时间同步型动态口令。
动态口令动态口令生成与时间有关系,绘制一个简单的原理图如下:
动态口令生成原理图
用户端我们有一个内置加密算法的动态令牌,初始密钥和当前时间因子共同作为加密算法的参数进行加密得到伪随机数,然后截取其中特定六位作为令牌产生的6位动态口令。
服务器端与用户端共享初始密钥,以及通过网络时间同步的方式获取相同的时间因子,并采用同一种加密算法得到相应伪随机数,最后通过与用户端采用相同的剪裁方式得到6位口令,最后进行验证,以便提供正确的服务。
2.模拟
在此提供一种编程思路:
初始化一个密钥(Key),程序获取当前系统时间并转换为以分钟为单位的时间因子T,形如201701011920代表2017年01月01日19时20分,将Key与T做拼接然后调用一个MD5加密算法得到一个值(Byte类型),然后将Byte类型值每一个Byte转为相应十进制值,并将得到的所有十进制数作
拼接得到伪随机数R,最后取R的前六位作为动态口令。注意设置60s即一分钟的定时器,因为口令只维持一分钟,然后随机产生。
分别在客户端(可用APP实现)与服务器端(可用网页实现)实现相同的算法,即可完成验证。
2 0
- 模拟银行动态口令生成
- 银行动态口令卡 原理
- 银行的动态口令令牌是什么原理
- 银行动态口令令牌工作原理简析
- RSA令牌动态口令生成原理
- 动态口令
- 动态口令
- 银行模拟
- 模拟银行
- 动态口令技术介绍
- 动态口令基本原理
- 动态口令基本原理
- 动态口令认证
- 动态口令卡(口令牌)原理解读
- 模拟生成百度动态热力图
- 银行模拟系统(2)
- 黑马程序员-银行模拟
- C#银行开户模拟
- 重建二叉树
- csu1777
- 面试算法题-03
- 80X25彩色字符模式显示缓冲区与使用
- 易聚之声音
- 模拟银行动态口令生成
- 易聚之气味
- 错误处理:com.google.gson.stream.MalformedJsonException: Unexpected value at line 1 column 15
- 对一个数组(每项都是数值)求和,有哪些方法?
- 易聚之虚拟实体
- TCP新手误区--心跳的意义
- 1419 最小公倍数挑战
- jQuery的zTree树插件
- 选中全选框