生成有次数限制的离线密码方法方案?

2018-01-03 12:03:59 +08:00
 hugee

应用场景:无网络情况下。 管理员生成一个指定使用次数的密码(时间无限制),达到使用次数后失效. 用户拿着这个密码就可以开启房门。

也就是说管理员控制的密码生成程序和门上的控制程序产生的密码要对得上,才能打开。

想不到怎么实现,有没有大神指点一下?

3738 次点击
所在节点    问与答
31 条回复
dream7758522
2018-01-03 23:46:53 +08:00
@hugee 为什么不现实
hugee
2018-01-04 09:57:22 +08:00
@dream7758522 每个生成的密码都能指定不同的指定次数,每次生成的密码都不一样。想想就知道了……
geelaw
2018-01-05 14:14:07 +08:00
@hugee #22 那您自己已经有答案了呀:这个应用场景是不现实的。
hugee
2018-01-05 22:23:42 +08:00
@geelaw 我说的是他的那种方式不现实。行业内已经有人实现了,我想弄清楚是怎么实现的。我电脑上有截图,明天我发出来给你看下。
hugee
2018-01-06 15:47:09 +08:00
@geelaw 看下顶楼,我已补图。
geelaw
2018-01-06 16:19:30 +08:00
您可以试试手机开飞行模式之后建立新的密码,然后尝试解锁,看能不能做到。
hugee
2018-01-06 16:35:11 +08:00
@geelaw 完全可以,并且锁里面也没联网芯片的。
geelaw
2018-01-06 16:36:42 +08:00
@hugee 那请问你是否可以在生成之后修改密码的剩余次数?同样是要飞行模式。
hugee
2018-01-06 17:14:39 +08:00
@geelaw 修改不了。就算删了,还能开(如果使用次数没到的话)。
Asshasahole
2018-01-07 12:22:28 +08:00
用时间和算法确定一个可用密码池,密码被使用时验证是否在可用密码池中,验证成功则生效并记录,已被记录的密码单独维护权限,可以通过手机与锁连接修改密码类型等。这种离线密码是以牺牲安全性为代价的,同一时刻可用密码有一定的数量,并且密码本身要包含类型等数据,位数会长一点。我有九成把握。
xiaosaiyin
2018-01-08 00:10:30 +08:00
随机数 r, 使用次数 k, 验证位 s
生成密码为 E( r k s, key)
验证时 r k s = D(m,key) 然后 检测验证位是否正确,这样可以隐藏(r,k)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/419661

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX