什么时候才用得上
LCT 账号只用于 LCT 平台,收藏地点、在 LCT 社区发作品的时候才用得上。镜笺在浏览器里处理照片,不登录也能用。掌镜和 MuseFrame 各有各的账号,跟 LCT 不共用。
注册只要一个邮箱和一个密码,登录也是这两样。没有短信验证码,也不绑第三方账号。
地址里为什么写着 passwordless
因为这篇原本讲的是另一套方案。LCT 早期的设计是邮箱一次性验证码登录,不设密码,这篇文章当时就是为它写的。
2026 年 9 月 2 日的产品裁定把那套方案整个拿掉了。后端只保留邮箱注册和邮箱加密码登录,验证码登录和第三方登录的处理器、路由、配置和后台开关一起删掉,对应的数据表也在同一批迁移里删了,注明不可回滚。
地址没改,是为了不让已有的链接失效。内容要跟着事实走,所以整篇重写了。
密码怎么存
服务器上不存密码明文,也不存任何能还原出明文的东西。库里只有一段派生结果。
派生用的是 Argon2id。它专门设计来让批量猜密码变贵,每猜一次都要吃内存和时间,拿显卡并行也占不到多少便宜。
内存、迭代次数和并行度三个参数,按机器实测来调,还设了硬下限。配置低于下限,服务直接拒绝启动,不会悄悄用一套弱参数跑起来。每个账号还有自己的随机盐,两个人用同一个密码,库里的记录也完全不一样。
所以就算整个数据库被拖走,拿到的也只是一堆派生结果。想还原某个人的密码,只能一个一个猜,每猜一次都付同样的代价。
登录以后怎么续期
登录成功,拿到的不是一张永不过期的长令牌,而是两张分开计时的凭据:一张短期的访问凭据,一张用来续期的刷新凭据。掉线、换网络、关了标签页再回来,都由续期接住,不用重新输密码。访问凭据本身很短命,就算被人捡到也用不了多久。
刷新凭据按会话家族记录,你在不同设备上的会话彼此独立,可以单独让其中一个失效。账号上还有一个凭据版本号,改密码会让它加一,之前发出去的凭据随之全部作废。
每个动作都有闸
注册、登录、改密、续期各自限频。一个动作被刷,不会把别的动作一起拖垮。
派生本身也限并发。Argon2id 每次至少要几十 MB 内存。不限制同时进行的数量,登录高峰本身就是一次内存耗尽攻击。所以注册、登录和改密共用一个固定容量的闸,排不上就等,等不及就取消,不把服务器压垮。
建号接口不告诉你邮箱有没有注册过。拿一个已经存在的邮箱去建号,返回的状态码和全新邮箱一样。想确认账号在不在、密码对不对,只能走登录。这是为了不泄露谁在这个平台上有账号。
你这边做四件事
- 给 LCT 一个不跟别的网站重复的密码。密码复用是账号被盗最常见的原因,这一条全在你手上。用密码管理器生成一串随机的就行。
- 给邮箱本身开两步验证。邮箱是所有网络账号的根,比任何一个网站都值得保护。
- 登录前看一眼地址栏的域名,尤其是从聊天软件或搜索广告点进来的时候。假页面骗走的密码,和你在真页面上输的是同一串。
- 谁跟你要密码,都是诈骗。自称客服、运营还是警察都一样。我们不会、也没办法查你的密码,库里没有明文。
为什么不直接上通行密钥
通行密钥(passkey)在防钓鱼上确实更强,因为它把域名绑进了验证,假网站拿不到能用的凭据。但它对设备和找回流程的要求高得多。换手机、丢设备、多台设备同步,每一样都要配一整套。
平台还没对外开放,我们先把基线做扎实:密码不存明文,派生参数有下限,按动作限频,会话和续期分开计时。这是现阶段的取舍,不是定论。