V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pvcxy18
V2EX  ›  问与答

小米指纹锁的一次性离线密码生成策略是什么?

  •  
  •   pvcxy18 · 1 天前 · 711 次点击
    我家的小米指纹锁仅支持蓝牙连接,不可连 wifi ,通常需要用米家 APP 蓝牙连接指纹锁来登记密码、指纹信息。
    但我发现它也可以实现远端离线生成一次性密码,我可以给定生效时间范围(最多 15 分钟)来生成对应密码。

    我推测门锁和 APP 有一套相同的基于当前时间的密码生成算法,APP 蓝牙连接门锁时会同步当前时间。
    我有点好奇的是,如果把门锁的电池全部拆掉,然后重新安装上去(即断电后再通电),门锁要如何获得当前时间呢?(也许这样做之后,一次性密码将不在生效,直至 app 再次重连并同步时间?)

    4 条回复    2025-01-06 15:23:35 +08:00
    coolfan
        1
    coolfan  
       1 天前
    应该就是你说的这一套吧,OTP 密码:摘要算法(时间+密钥)
    vace
        2
    vace  
       1 天前
    TOTP 基于时间步长的一次性密码算法,可以生成 6 位或 8 位的数字密码。 [Time-based one-time password]( https://en.wikipedia.org/wiki/Time-based_one-time_password)
    clf
        3
    clf  
       1 天前
    otp 算法。

    可能并不是按当前时间来算的,设备上可能内置了时钟,并不会跟着外部时间变,出厂的时候配置好一个初始时间和服务器上做好绑定。

    然后你生成的时候是服务器上用映射后的时间+密钥给你生成的?(也可能是初始化设备的时候反向往你的米家 App 里写了一个密钥和对应的时间映射,但这样手机改时间了就寄了)
    Yanlongli
        4
    Yanlongli  
       1 天前
    离线那说明就是 otp 那套,连蓝牙时自动同步时间。
    另外可能内置电容用于短时间内保持时钟不丢失(换电池期间)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4138 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.