纯本地密码生成原理:为什么密码生成器不该联网上传
你在网页上生成的密码,理论上都可以被网站服务器看到。所以判断一个密码生成器是否可信,第一个问题不是「密码够不够随机」,而是:它联网了吗?
「纯本地」具体指什么
- 随机数来源:使用浏览器
Web Crypto API(crypto.getRandomValues),操作系统级加密安全随机源,不是Math.random() - 零网络请求:整页静态资源加载完成后,页面不再发出任何请求,断网也能用
- 剪贴板自动清除:复制后按设定时间自动清空,防止他人在共用电脑上读到
为什么不用 Math.random()
Math.random() 是伪随机数,可被预测;密码生成必须用加密安全随机数。区别在于:前者适合游戏抽奖,后者才适合密钥材料。
助记密码是怎么派生的
随机词库选词 → 组合成短语 → 可选自定义短语 → SHA-256 哈希派生 → 满足长度/字符集要求输出
助记密码的核心是「用可记忆的单词承载高熵」,4-6 个随机词组合的熵值通常不低于 12 位随机字符。
⚠️ 警惕「在线密码生成 + 保存到云端」的服务:一旦服务方数据库泄露,等于把你的密码库拱手相送。可信做法是本地生成、本地保存(密码管理器加密存储)。
💡 用 密码工坊 生成后,可在开发者工具 Network 面板验证:生成过程无任何网络请求。