有谁知道魔兽安全令牌的工作原理啊?想了好久都想不通…

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:39:32

首先安全令牌是个电子表,那么我们就可以根据当前时间产生一个6位的密码,而服务器同样也可以这么做,只要大家都使用同一时间计量, 具体怎么根据时间来生成6位的密码呢? 我能想到的就是Hash(哈希) ,哈希是单向的,即你不能根据加密结果跟密匙推出原来的被加密的数据.比方6 跟3取余为0,那么在知道3跟0的情况下你无法得出6,因为9%3也是0
(哈希:现在比较常用的哈希算法有MD5,SAH1,SAH2等.)
那么有上面这些假设后,安全令牌可以这么工作,每个安全令牌有一个唯一的序列号,而每个序列号可以关联一个帐号,另外每个安全令牌内部有一段唯一的密匙,服务器数据库中也保留了安全令牌中的密匙,跟序列号.
登录过程
根据用户发送来的帐号判断是否绑定了令牌,如果绑定了则要求用户发送安全令牌随机密码, 安全令牌使用 md5(密匙串+时间)生成一段密码,用户将这段密码发送到服务器,服务器根据数据库里的信息进行相同的计算得到一个结果,比较两段数据,如果相同则登录成功,因为是60秒生成一个,应此允许有60秒以内的时间延迟.