1
mnsw 154 天前 via Android
虚位密码。
|
2
MJTest 154 天前 9
是 feature.
|
3
B1ankCat 154 天前 1
这是 feature ,就是为了让你可以随便输入,包含正确密码就能进去,防止被别人偷窥到
|
4
FabricPath 154 天前 2
feature ,当你背后有人站在的时候,你乱打几十个数字也能开门,但是对方不知道你真实密码是什么。
你这个算法想的有点复杂,单片机大概率不能动态分配内存,不好处理“动态长度”的数据;简单的方式是,你每按一个数字,比如你正确的密码是 234 ,你敲 1 的话,和 4 比较,不正确; 敲 2 ,和 2 比较,正确; 敲 3 ,和 3 比较,正确 敲 5 ,和 4 比较,不正确,清零。 当中途有匹配的密码之后,开锁 flag 置位,就不会再管后面你敲了什么,按下#的时候判断开锁 flag 。 |
5
FabricPath 154 天前
@FabricPath “你敲 1 的话,和 4 比较” -> "你敲 1 的话,和 2 比较"
|
6
yanqiyu 154 天前 1
判断密码就状态机(参照 kmp ),什么都不用存,存一个当前识别到几位连续密码就行,数据读一个丢一个
肯定存的是明文密码,密码锁存个明文密码没有任何困难和安全风险 |
7
EJW 154 天前
feature ,我家新换的德施曼智能门锁也是这样。
|
8
xubeiyou 154 天前
密码锁都这样- -
|
10
SimonOne 154 天前
这是 feature 啊,哥们,你不会突然灵光一闪吗
|
11
shadowyue 154 天前
虽然知道这个是 feature ,不过我挺好奇为啥这么统一
|
12
EJW 154 天前
@MJTest
1. 买的 q5s ,密码和指静脉用起来没啥毛病。 2. 如果门不符合,安装师傅现场施工,服务不错。 3. 四月初买的,用到现在还有 65%的电。 4. app 功能不多,但是做的还可以。wx 公众号有开门推送。 |
13
MoYi123 154 天前
密码固定 6 位,输一次密码算一次 md5(password[-6:]) 不就行, 这还要什么算法吗?
|
14
sennes 154 天前
那理论上是不是可以用 De Bruijn sequence 破解
|
15
ISOtropy 154 天前 via Android 2
我要是能输入一个π岂不是都可以破解
|
17
deplives 154 天前
老哥,所有的密码锁都支持啊,这个叫虚位密码,假定你不信任当前输入密码的环境,可以在连续正确密码前后增加任意多的字符,保证密码不被泄露
|
19
Inn0Vat10n 154 天前
@krixaar 失败多次就锁死保护了,必须重设密码
|
20
Tsing2 154 天前
我猜楼主想问的是,如果使用虚位密码功能,那锁里保存的就不是密码的哈希而是密码的明文了,不然运算量有点大
|
21
ysc3839 154 天前 via Android
@FabricPath 但是对方看到完整密码后输入进去也能解锁,感觉意义不大,只有在对方不能完整看到的情况下有点用,或者可能是增加容错率,避免不小心碰到别的数字再输入正确密码失败。
|
22
tinytoadd 154 天前
@tlsmars009 正常的密码锁,输入一个 pi 也可以打开😺
|
23
meisa 154 天前
@Inn0Vat10n 我把每一种 6 位数字组合全部按一遍,到最后的时候才按 # 开锁,理论来说这样无论如何我都能开锁。
|
24
jim9606 154 天前 via Android 1
防偷窥不合理,因为只要完整重放多头多尾的密码一样可以开锁。
省内存这个存疑,我不觉得现在有 wifi 功能的 mcu 会负担不起这点代价,可能只是单纯沿用以前弱鸡 mcu 的交互设计。 交互上,多数密码锁没有清空输入按键也没屏幕提示位数,支持这种输入可以免去对这两者的需求(故意输错虽然可以但会累计错误次数,不能等同于清空输入) |
25
mcfog 154 天前
多按几位还有一个好处是避免长期使用以后,密码的那几个按键痕迹/磨损到有肉眼可见的差异
|
27
CSGO 154 天前 via Android
这个挺好,
|
28
churchmice 154 天前
你只要密码长度的是固定的,里面存 hash 也是没有问题的
输入的数据存在一个 buffer 里面,用个滑窗挨个算 hash 就行,计算量也不大 但是现实的问题是大家都偷懒不会这么做,我见过太多做安全的应用,号称多么安全,最后把钥匙挂门上的设计 安全这东西最重要的是安全意识,可惜大多数人没有 反过来你如果有安全意识,你的设计成本会增加,反而会被劣币驱逐,乳汁奈何 |
30
JustBecause 153 天前
@ysc3839 多加几位就好了,我当着面输 20 位密码,看得人也记不住啊,实在不行我输 30 位 40 位
|
31
Ainokiseki 153 天前
@FabricPath 如果是这样的话,假设正确密码是 2324 ,输入“232324”会无法判断通过的
|