LANDrop 中文文档 下载 App

公钥 ID:LANDrop 怎么区分两台叫"iPhone"的设备

问题:两台都叫"iPhone"怎么办

在同一局域网里跑 LANDrop 的时候,很容易出现两台设备的设备名一样的情况——比如两个 iPhone 都默认叫"iPhone",两台 Windows 都叫"DESKTOP-XXXX"的自动生成名。如果只靠设备名做识别,那同名设备会互相混淆。

LANDrop v1.x 时代确实有这个问题,设备名就是唯一身份标识,重名时体验很混乱。

公钥 ID 怎么解决的

v2.0 协议升级时,LANDrop 为每台设备引入了 Ed25519 密钥对作为唯一身份:

现在两台同名设备:

  1. 各自启动时生成一对不同的 Ed25519 密钥;
  2. 组播广播时带出去的公钥完全不同;
  3. 接收端看到两个设备名相同,但公钥 ID 不同——LANDrop 内部把它们当成两个完全独立的设备,互不干扰。

它还支撑了什么其他特性

公钥 ID 是 LANDrop 好几个重要特性的基础:

重装系统会发生什么

因为公私钥对是首次启动时生成并持久化在设备上的,如果你重装了 LANDrop(或清除了它的数据目录),公私钥对会重新生成——其他设备会把你当成一台全新的设备。这意味着:

这是设计选择而不是 bug——LANDrop 选择了"重装 = 新身份"这条更严格的安全路线,而不是"保留旧身份方便连接"。