自如的密码锁有个问题,只要输入密码包含正确密码就能开锁

55 天前
 UserName99
这个问题存在好几年了,每次误触后还能开门就会纠结这个问题,比如正确密码是 A ,那么输入 A 、123A 、A123 、123A456 这几种都能开锁,这是个 bug 还是 feature 。然后又想到了另一个问题,他们是不是存的明文密码,如果是密文怎么判断输入密码包含正确密码的,就想到一个循环一下,每个字符后推 6 位加密后和存储的密文做对比,可能要循环很多次,还有其他什么好的算法吗?
3268 次点击
所在节点    程序员
32 条回复
ysc3839
55 天前
@FabricPath 但是对方看到完整密码后输入进去也能解锁,感觉意义不大,只有在对方不能完整看到的情况下有点用,或者可能是增加容错率,避免不小心碰到别的数字再输入正确密码失败。
tinytoadd
55 天前
@tlsmars009 正常的密码锁,输入一个 pi 也可以打开😺
meisa
55 天前
@Inn0Vat10n 我把每一种 6 位数字组合全部按一遍,到最后的时候才按 # 开锁,理论来说这样无论如何我都能开锁。
jim9606
55 天前
防偷窥不合理,因为只要完整重放多头多尾的密码一样可以开锁。
省内存这个存疑,我不觉得现在有 wifi 功能的 mcu 会负担不起这点代价,可能只是单纯沿用以前弱鸡 mcu 的交互设计。
交互上,多数密码锁没有清空输入按键也没屏幕提示位数,支持这种输入可以免去对这两者的需求(故意输错虽然可以但会累计错误次数,不能等同于清空输入)
mcfog
55 天前
多按几位还有一个好处是避免长期使用以后,密码的那几个按键痕迹/磨损到有肉眼可见的差异
Ruikoto
55 天前
@jim9606 这个防偷窥是防你输了 6 位被直接记下来的,如果你输入 20 位的虚位密码还被人偷窥走了,那还是用指纹吧
CSGO
55 天前
这个挺好,
churchmice
55 天前
你只要密码长度的是固定的,里面存 hash 也是没有问题的
输入的数据存在一个 buffer 里面,用个滑窗挨个算 hash 就行,计算量也不大
但是现实的问题是大家都偷懒不会这么做,我见过太多做安全的应用,号称多么安全,最后把钥匙挂门上的设计
安全这东西最重要的是安全意识,可惜大多数人没有
反过来你如果有安全意识,你的设计成本会增加,反而会被劣币驱逐,乳汁奈何
SimonOne
55 天前
@jim9606 #24 记住 6 位密码和记住 20 位密码的难度是不一样的,我只要确保胡按的里面夹上正确的就行,偷窥记密码的人可没那么轻松了。
JustBecause
54 天前
@ysc3839 多加几位就好了,我当着面输 20 位密码,看得人也记不住啊,实在不行我输 30 位 40 位
Ainokiseki
54 天前
@FabricPath 如果是这样的话,假设正确密码是 2324 ,输入“232324”会无法判断通过的
grady8866
54 天前
@meisa 锁体有限制虚位密码长度啊,像米家的就是最长 20 位,不可能没完没了让人输入的

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

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

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

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

© 2021 V2EX