最近搬家了。新家的智能锁我没用过。开门时发现任意指纹都能解锁。于是我联系房东,房东不知道怎么回事,让门锁的客服通过电话指导我使用。经过 6 分钟的电话指导后,我终于初步理解了锁的工作逻辑。放下电话,我感觉自己成了电子文盲,于是就有了本文。
客服说没有说明书。锁本身标了品牌,没标明型号。我搜索「德力西门锁说明书」,搜到了另一个型号 HDMC-M32J 的说明书 (接入米家)。之后又在「小红书」上搜,找到了锁的型号,了解了更多概念。
再次感谢互联网。
体验模式
门锁初始化(恢复出厂设置)后,会进入「体验模式」。管理员密码是诸如 123456 等弱密码;指纹则是任意指纹,甚至手背都能解锁。也就是我在开头提到的现象。
用手背让锁亮屏
智能门锁的操作面板虽然也算触屏,但像使用手机那样用手指按压、滑动是不容易点亮屏的,而是应该用手背(手指、手掌都行)贴到面板上。
全自动、半自动
全自动智能锁在验证身份后,锁舌会自动缩回,关门后会自动上锁。半自动的就需要人手动按、提把手转动锁舌。
全自动智能锁开(关)门步骤:
指纹(密码)验证 -> 拉开门 -> 关门(自动上锁)
半自动智能锁开(关)门步骤:
指纹(密码)验证 -> 下压门把手 -> 拉开门 -> 关门 -> 上提把手反锁( 来源 )
单活、双活、单活双快、双活双快
这几个概念只找到了一张电商到处抄的图。看不太懂它的解释,这里就摘录并改写:
对于单活双快、双活双快的锁,记得上提反锁,上提之后锁的方舌才会弹出,类似于传统机械锁拧两圈钥匙把方舌转出来。方舌才是锁体安全性的保障。( 小米智能门锁 )
虚位密码
输入密码时在正确的密码前、后加上任意数字,都可以开启。作用有 2 个:
这锁的配置是入门级的。半自动,支持密码、指纹、卡片。
有 2 种方法可以把锁初始化:
初始化之后,按 * # 键(不需要同时),输入默认管理员密码 123456 ,打开菜单
依次按 1 、1 (添加管理员),会提示「请输入超级密码」,意思是设置管理员密码,并不是要输入那种机器出厂预设的后门密码。输入密码,越长越安全。
之后可以看后面的功能介绍添加指纹或其他开锁信息。
开头提到的门锁的电话客服,说没有说明书。我不信,最后从网店拿到了说明书的其中一页(应该不止这一页),如图。下面依次讲解相关功能。
添加管理员
「请输入开锁信息」:意思就是从密码、指纹、卡片 3 者中选一个设置。
删除管理员
第一个添加的 1 号管理员无法删除。其他管理员可以删除自己。
恢复出厂设置
在前面讲过了。
添加用户
跟添加管理员是一样的。
删除用户
也都是说明书的字面意思,没什么要解释的。
每录入一个开锁信息(密码、指纹、卡片),就会创建一个用户,所以这里的一个用户并不对应一个人。如果一个人同时有 3 种开锁信息,那锁就会记录 3 个用户。
管理员从 1 开始编号,普通用户从 5 开始编号。
查询用户编号:开锁成功之后有语音提示:「**# # <用户编号> 已开锁**」。
语言设置
这锁居然还有英语语音。
防撬设置
检测到撬锁就会报警。
静音设置
可以关闭按键音效、开锁的语音播报。安静、省电。
验证方式
单一开锁:只需要一个开锁信息(密码、指纹、卡片)就能开锁。
组合开锁(双重认证):需要 2 个开锁信息才能开锁。比如密码+指纹、密码+卡片、指纹+卡片。开锁时,第一个验证方式通过后,会提示「请输入第二身份」,意思是选择另一种方式验证。这个「第二身份」是个令人困惑的概念,我一开始把它理解成管理员+普通用户,这两种身份的组合。经过测试后发现:只要能输入 2 个开锁信息就行,用户身份不重要。
紧急电源接口
在外面板下方,是 Type-C 的。
机械钥匙孔
在外面板下方。
临时密码
需要使用小程序「小西门锁服务平台」( AppID:wxb31e73dca1fa1ca4 ),开发者是「杭州西尚智能有限公司」(似乎跟德力西集团没有关系)。输入管理员密码,可以生成单次、多次临时密码。需要注意的是,这个小程序不支持输入 *,所以如果密码中包含 *,就不能生成临时密码了。
这个门锁不联网、不支持蓝牙、不能设定时间,那临时密码是怎么来的呢?
我搜了一下智能门锁的密码算法,找到一个专利申请 CN111260827A 智能门锁非时间管理的临时密码管理方法及系统 。下面摘录部分内容并批注:
门锁端设置管理员密码,激活临时密码功能;在智能终端(微信小程序)将管理员密码采用 SHA-1 加密算法生成多个临时密码;
用户在门锁端输入密码时,门锁端验证密码长度后,采用相同算法生成多个门锁端临时密码,然后将用户输入的密码与门锁端临时密码逐一比对,若存在相同,则执行开锁。
所以,可以确定,同一型号(品牌)的锁(采用同一算法),只要管理员密码相同,临时密码就是一样的。这点倒也不算什么,传统机械锁存在「互开率」问题,一把钥匙开两家门。而智能门锁只要不设置弱密码,管理员密码相同的概率( 4-10 位密码,AI 计算结果是 0.0002% )是低于「互开率」( C 级锁要求 ≤0.0004% )的。
生成临时密码的算法可逆吗?
可逆就意味着,知道算法的人可以根据临时密码反推出管理密码。
专利里面并没有提到用 SHA-1 算法生成临时密码的细节。但是,即使利用 SHA-1 实现了不可逆,也还存在「彩虹表」这个东西。我在相关网站试了一下,6 位数字的 SHA-1 是可以免费破解(反查)的。
用户手机端打开微信小程序,且可离线操作
我测试了,确实飞行模式下一样能生成。通过抓包也许能拿到 JS 代码。
手机端需要记录已使用的临时密码(防止 2 次生成),且预设间隔内(如 10 分钟以内)只能变换一次临时密码(防止临时密码随意使用)
这也就解释了生成的临时密码下方的那个计时圈。之前我还以为是像 TOTP 那样,用时间加盐生成的,没想到只是在防止「随意使用」。
2025-07-31 第一版
2025-07-26 开始写
欢迎关注我的频道 https://t.me/fengwq