一份放在用户机器上的授权名册,怎么做到「用户看得见、但改不了」。 全程在你的浏览器里用 WebCrypto 完成,不联任何后端,私钥也不离开这个页面。 原理见 云端功能开关 + Ed25519 离线兜底。
{alg, sig, payload} 信封真实项目里:公钥抄进客户端源码,私钥离线保管、绝不进仓库。
随便改,改完重新签一次即可。
签的是字节,不是对象。两端必须从同一个对象产出完全相同的字节,所以 key 要排序、空格要去掉。
对象的 key 排序,数组不排——数组顺序是数据的一部分。
这份 JSON 会随扩展发给每一个用户。他能读、能改——但改完就验不过。
基线常量不读任何文件、不查任何存储。无论前面出什么问题,最差就是回到它。