本地密码库
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_84aa03cf/chenlin-local-password-vault。
技能介绍
背景:普通用户面对的密码困局
密码管理在日常计算中是个被低估的问题。多数非技术用户要么所有站点共用同一个弱口令,要么把密码明文记在手机备忘录或纸条上。一旦某个小站点数据泄露,撞库攻击可能在几小时内清空其他平台的账号。另一种常见选择是大型云密码管理器,但这意味着将凭据的机密性完全交给第三方。
本技能提供一种本地优先(Local-First)的工程方案:不依赖任何云服务,无需注册账号,凭据全部存放在本机的加密文件中,主密码只在用户脑中。
核心实现与工作流
技能的核心逻辑封装在内置的 vault.py 脚本中,依赖 cryptography 库(首次运行自动安装,无任何网络请求)。
- 强密码生成:支持配置长度、字符种类,并能自动排除
0/O、1/l等易混淆字符。 - Passphrase 生成:通过随机词组组合(如
apple-river-92-clock)生成人类易记且机器难破的密码。 - 强度评估:检查长度、字符熵值、是否为常见弱口令或字典词。
- 本地加密保险箱:凭据存储于
~/.local_vault/vault.enc。加密采用PBKDF2-HMAC-SHA256(20 万次迭代)派生密钥,并使用 Fernet 对称加密落盘。主密码绝不落盘或写入日志。
适用边界与安全红线
此工具并非企业级 KMS 或需要多端云同步的商业方案,它的目标是个人单机凭据管理。请特别注意以下红线:
- 主密码唯一性:主密码是解密的唯一凭证,丢失后无法找回,技能无法提供任何形式的重置。
- 文件备份:
vault.enc是本地存储,硬件损坏会导致数据丢失,需定期导出并妥善保管备份。 - 环境依赖:若运行环境无法安装
cryptography库,加密保险箱功能将不可用,但生成与检查功能可离线运行。 - 零回显原则:所有密码输入通过
getpass处理,明文密码与主密码严禁出现在对话或日志中。
使用场景
- 注册新网站时,需要生成一个与其他站点不重复的强密码,并排除 0/O、1/l 这类容易看错的字符
- 记不住无规律的乱码密码,需要生成 apple-river-92-clock 这样好记又难破解的密码短语
- 怀疑现有密码太弱,需要检查密码长度、字符种类,以及是否属于常见弱口令或字典词
- 不想把密码交给大厂云管理器,需要在本机建立加密保险箱集中管理账号密码,只凭主密码解密
适合人员
- 独立开发者,同时维护多个线上服务账号,希望凭据只存在本机加密文件里、绝不上云同步
- 频繁注册各类网站的普通用户,需要为每个站点生成独立强密码,避免一处泄露全网撞库
- 对大厂云密码管理器不信任的技术人员,想用主密码 AES 加密自己保管全部账号密码
- 帮家人管理电脑账号密码的运维人,需要批量生成强密码并安全存储,同时不给家人增加使用负担