聊天讨论 为什么 Telegram 宁愿烧钱发 SMS,也不让你用密码登录?

quyb63232(风月ee) · 2026年07月02日 · 最后由 quyb63232 回复于 2026年07月02日 · 18 次阅读

登录不上的先上来

Telegram 没有密码登录。新设备、新浏览器、甚至清掉缓存重新打开,都要收一条验证码。这个设计很烦人,但背后是一笔清楚的成本账。

密码登录的隐性成本

传统密码体系需要:密码哈希存储(bcrypt/Argon2)、定期泄露扫描、重置密码的邮件/SMS 流程、客服处理"忘记密码"工单。这些成本分散在各个环节,难以量化,但总和不低。

更麻烦的是密码泄露。一旦数据库被拖库,所有用户的密码哈希暴露,强制重置、安全审计、公关危机,成本指数级上升。2016 年 LinkedIn 泄露 1.17 亿密码,直接损失数千万美元,品牌损伤更难估量。

验证码的显性成本

Telegram 的 SMS 账单是明面上的。每条验证码 0.05 美元,年支出近亿美元。但这个数字是可控的——你可以优化网关选择、推送到已登录设备、拦截虚拟号码,把成本压下来。

更重要的是,验证码没有"泄露"的概念。它是单次有效、短时失效的,即使被截获,攻击窗口也只有几分钟。相比之下,密码泄露的影响是长期的,用户可能多年不修改同一个密码。

已登录设备推送:零成本的安全层

Telegram 最聪明的设计是"已登录设备推送验证码"。如果你的手机已经登录了 Telegram,新设备请求登录时,验证码直接弹到手机上,不走 SMS 通道。

这个设计同时解决了两个问题:安全(短信可能被 SIM 交换攻击拦截,但已登录设备相对可信)和成本(MTProto 通道的边际成本为零)。据估算,这个机制替 Telegram 省了 30% 的 SMS 费用。

为什么不做 TOTP 或硬件密钥?

TOTP(如 Google Authenticator)和硬件密钥(如 YubiKey)更安全,但门槛太高。普通用户不会装 Authenticator,更不会买硬件密钥。Telegram 的产品哲学是"安全必须无感知",验证码虽然烦,但人人都会用。

双重验证密码(2FA)是可选的,但默认关闭。只有对安全敏感的用户才会开启,大众用户依然靠 SMS 走天下。

对独立开发者的参考

如果你是独立开发者,做一个小而美的产品,验证码成本可能占你运营支出的很大一部分。几个建议:

优先支持邮件验证码,成本近乎为零

集成第三方登录(Google、Apple、微信),把认证外包出去

如果必须做 SMS,选按量计费的网关,别买包年套餐

监控异常请求,防止被刷验证码拖垮预算

Telegram 烧得起 SMS 的钱,是因为它用户基数大、ARPU 高(虽然免费,但 Premium 订阅和广告收入可观)。小团队没有这种底气,必须在安全和成本之间找到更精细的平衡点。

咱大家伙搞代码的肯定有帮助: https://tgclient.github.io/telegram-client/ 助人为乐、欢迎大家!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号