C#通过依赖项以及当前时间生成动态密码

引言:

手机上安装了QQ令牌,很好奇这个是怎么做出来的,构思了一下,写出来了一个垃圾版。

标题中所说的依赖项是指在令牌中的机器号,在这里我使用邮箱来代替。

另外并没有存储生成的密码,也就是说,不会对该密码是否使用过来进行判断。

先放出一张效果图:

20121223082812

思路:

首先需要有一个类,这个类是公共的,也是最关键的,客户端与服务端同时调用,这个类通过传入的时间以及传入的依赖项生成一个密码列表。

2012-12-23 8-53-593

密码列表出来了,只需从这个密码列表中随机出来一枚即可,当然,我承认我是无聊才会弄这么一堆密码的。。。

客户端的密码同上生成。

但是关键的是服务器的判断,因为很多时候服务器的时间与客户端的时间是会有差别的。

比如说当前时间为:2012-12-23_8-58-57

而客户端的时间为:2012-12-23_8-57-34

因此我们需要在服务器端做出多次对比,我做的是5次对比,即:

分钟-1,分钟-2,当前,分钟+1,分钟+2

如果密码匹配正确,则中断继续向下对比,提示登录成功。

关键代码:

下载:

动态密码[YunFile.Com].zip(223.8 KB, 477 次)

[buy]下载需淡定。。。体谅一下吧~

有什么错误的思路也请指出。[/buy]

19 Replies to “C#通过依赖项以及当前时间生成动态密码”

发表评论

电子邮件地址不会被公开。 必填项已用*标注