■ 图形编码的短字符串只含三段:句柄、过期时刻、公钥指纹,三段都不携带身份凭证。■
如果你也在处理WhatsApp网页版,这篇可以顺手对一下。 如果你也在处理WhatsApp网页版,这篇可以顺手对一下。 相关的坑WhatsApp网页版 里列得比较细,可以对照看看。 如果你也在处理WhatsApp网页版,这篇可以顺手对一下。
句柄由服务端生成,与当前浏览器实例一一对应。
过期时刻在写入时即固定,校验时与当前时间比对。
指纹用于让手机端确认回传对象确实是这一端。
三段信息量极小,因此截图转发不会泄露密码。
真正的风险在于,谁先完成握手谁就取得这一端位置。
所以有效期的设计目标不是防盗,而是压缩被抢的窗口。
把窗口压到不足一分钟,抢跑的成本就高于收益。
■ 采集端读不出码,九成是像素边缘被插值破坏,而非图形本身出错,先看缩放再看别的。■
二维码依赖清晰的黑白边界,任何模糊都会削弱对比。
放大到非整数倍时像素被插值重采样,边缘变灰。
贴膜与反光会在局部形成亮斑,破坏校正块识别。
亮度偏低时摄像头拉高增益,同时引入噪点。
有损压缩会让小块区域糊成一片,远程传输尤甚。
保持百分百缩放的原始像素,是成功率最高的显示方式。
采集端的对焦速度同样关键,近距离拍摄常因对焦失败而模糊。
把手机与屏幕保持二十厘米以上,成功率明显提升。
连续失败时先调整距离,再考虑刷新图形。
采集窗口内的对焦框未锁定,也会表现为长时间毫无反应。
此时轻轻平移手机,迫使采集端重新对焦即可。
■ 图形可见不等于可回传,有效期、刷新、握手完成三种情形下图形都还在,但句柄已不再被接受。■
倒计时归零后采集端仍能读到图形,但回传必被拒绝。
刷新会生成新句柄,旧句柄在同一时刻被标记失效。
后台计时可能暂停,显示与实际有效期脱节。
| 状态 | 可见 | 回传 |
|---|---|---|
| 有效期内 | 是 | 接受 |
| 已过期 | 是 | 拒绝 |
| 已刷新 | 旧图仍在 | 拒绝 |
| 握手完成 | 是 | 句柄作废 |
■ 采集只是第一步,确认发生在手机端点击之后,未确认前凭证不会下发,网页端只能等待。■
手机端解出字串后先核对公钥指纹是否一致。
核对通过才提示确认,确认动作在手机端完成。
确认后签名回传,服务端据此下发派生凭证。
■ Handoff 以凭证下发为完成标志,Fingerprint 用于确认对象一致,Stale 状态下一律拒绝回传。■
[核心疑难] 技术上可行,因为图形只承载句柄与指纹。
[底层诊断] 谁先完成确认谁就取得该端位置,短有效期是唯一防线。
[核心疑难] 页面切后台时计时暂停,显示滞后于真实时间。
[底层诊断] 过期判定在服务端完成,前端倒计时仅为视觉提示。
[核心疑难] 采集成功但未完成确认,流程停在用户动作上。
[底层诊断] 确认需在手机端点击,若提示未出现,多为指纹核对未通过。
◆ 10月23日 图形仅承载句柄、过期时刻与公钥指纹,不含凭证
◆ 10月23日 三个定位角与一个校正块决定能否正确解码
◆ 10月23日 非整数倍缩放引入插值,边缘变灰削弱识别率
◆ 10月23日 屏幕反光与贴膜形成亮斑,是定位失败的常见外因
◆ 10月23日 有效期按生成时刻计算,刷新为替换而非延长
◆ 10月23日 前端倒计时与真实有效期可能脱节,判定以服务端为准
◆ 10月23日 采集不等于确认,确认动作在手机端完成
◆ 10月23日 指纹核对未通过时不出现确认提示,表现为毫无反应
关于本站 · 第三方整理,官方入口以 web.whatsapp.com 为准