日期:2014-05-17  浏览次数:20408 次

会员登录动态密码实现,请教大家相关思路。
类手机令牌那种,就是密码是打开PC上或手机上一款软件,进行登录,这种模式思路如何实现呀?
动态口令 asp.net C#

------解决方案--------------------
引用:
Quote: 引用:

感觉就是服务端生成一个随机数并保存,客户端获取到这个随机数...感觉跟验证码一样的

但动态口令在没有无线网络的情况下貌似也能用的啊,比如银行的,还有网易的将军令啥的,如果要跟客户端交互,它是通过什么进行交互的呢~


网银的那个动态口令是利用时间+KEY来时时动态生成

原理是这样子的
首先你要申请动态密码时会生成一个KEY(或这个KEY由你指定) 把这个KEY存到服务器同时记录这个动态密码的硬件的序列号再与你的帐号绑定,再把KEY保到硬件里同时把KEY的时间与服务器的时间进行同步 

然后我们在硬件上看到的动态密码概是这样子算的 KEY+硬件序列号+当前时间(YYYY-MM-DD HH:MM)精确到分就可以了 之后再用加密算法如(MD5 SHA1)算出密文,取其中的6位,显示在硬件的显示屏上。

登录时你就只要输入显示屏上的密码就可(他服务端算法也是一样的 KEY+硬件序列号+当前时间)加密后跟你输入的6位密码进行对比。

这个关键点就是时间同步。你可以看下硬件他差不多是30秒或1分钟换一次密码.当然银行的更高级一些。在你登录成功后,有做硬件跟服务时间对比,同时记录两者时间差.