查看: 678|回复: 4
打印 上一主题 下一主题

[爆料] 盲猜将军令原理

[复制链接]
跳转到指定楼层
楼主
发表于 2024-11-5 12:36:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自:湖南
本帖最后由 zheryu 于 2024-11-5 12:45 编辑

老玩家都知道,以前的将军是没联网的,它每分钟会刷新6个数字用于验证。是不是很好奇是怎么实现的?
接下来是我的猜测,假如现在的时间是11月05日12点30分,我们取后6位数作为验证码 就是051230。
但是我们不能直接用这6个数,不然太明显了,于是我们把0-9个数字随机排列。
比如把0123456789变成5876320149,那么051230就变成了528765。
但是将军令每分钟都刷新,如果这个排列一直不变,那每分钟只有最后一个数字会变,一下子就会被破解。所以这个随机排列也要每分钟刷新。比如我们定10个随机排列尾数用户0-9对应
0----5876320149,2----3258714960,3----5208769314,4----7658312049,5----5018637249,6----5720163498,7----9532876014,8----5608327149,9----5207631489当当前时间最后一位是0 就用0对应的排列,是1就用1的排列,那么就大功告成了。
只要将军令的算法和游戏服务器里的算法一致,就能对上。




收藏收藏 分享淘帖 支持支持 反对反对 赞赞(0)
【论坛近期活动汇总】
回复

使用道具 举报

沙发
 楼主| 发表于 2024-11-5 12:54:13 | 只看该作者 来自:湖南
这只是基础原理,比如每个将军同一分钟的验证码都不同,所以这个随机序列每个将军令都不同,服务器验证的时候只要找到这个账号绑定的所有将军令,逐一匹配就行。
回复 支持 反对

使用道具 举报

3
发表于 2024-11-5 13:31:16 | 只看该作者 来自:安徽
  可惜你出生太晚了
不然肯定是破译敌军电报密码的好手
回复 支持 反对

使用道具 举报

4
发表于 2024-11-5 13:36:41 | 只看该作者 来自:山东
厉害。。。
回复 支持 反对

使用道具 举报

5
发表于 2024-11-5 13:57:41 | 只看该作者 来自:江苏
这个东西的学名叫做,one-time password,目前已经发布为RFC标准,有兴趣可以看下RFC 6238 - TOTP: Time-Based One-Time Password Algorithm
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则