V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
surunzi
V2EX  ›  分享创造

密码管理小工具

  •  1
     
  •   surunzi · 2 天前 · 2167 次点击

    多年来一直用 “主密钥 + 平台名称(如 google 、baidu 、qq 等)” 的方式生成各类密码。好处是只需要记住一个密钥,输入对应名称就能算出密码,而且每个网站、App 的密码都不一样,不用担心一个泄露导致全部失守。缺点是没法直接背下来,每次都要现查,但常用的那些用久了也会自动记住。比如我的银行卡、微信、支付宝支付密码全都不同,现在也早就记熟了。

    最近重新将这个工具实现迁移到自己的工具箱了: https://github.com/liriliri/tinker

    密码生成

    另外还有一些网站生成的 token ,证书没法使用这种方式则会另外使用 keepass 存储,这次也实现了一个简单的界面工具来编辑查看。目前还比较基础,随着使用会不断完善。

    密码管理器

    所有工具均开源,本地桌面运行,不会上传任何数据,断网可运行,有兴趣的可以试试看。

    21 条回复    2026-03-14 22:50:03 +08:00
    stinkytofux
        1
    stinkytofux  
       2 天前
    何必呢, 直接用密码管理器得了.
    surunzi
        2
    surunzi  
    OP
       2 天前
    @stinkytofux 十年前用的时候还不知道有密码管理器这种东西,后面知道了,但感觉也没方便多少,就一直这样用着。
    EthanCN
        3
    EthanCN  
       2 天前
    有这类需求的用户折腾到终点都是密码管理器。
    loading
        4
    loading  
       2 天前 via Android   ❤️ 3
    我没看你的代码,应该与下面的类似

    salt=你提到的主密钥
    name=平台名称
    pwd=encode(name+salt)

    你这个 encode 最简单就是用 base64

    这有个问题,安全措施里面有一个动作是定期修改密码,你这做不到。总不能 google2026 这样吧。

    当然,你的平台名称其实是一个别名,以前我甚至做过浏览器插件。就是用域名,自己输入 salt 之后出一个 base64 按一定算法取一下位,那时感觉挺好玩的。

    最后随着平台变多,还是放密码管理器吧。

    你现在的密码,做下迁移就行了,密码管理器的生成密码功能更好用。

    现在有些站点对密码强度的要求五花八门。
    sunnywx
        5
    sunnywx  
       2 天前   ❤️ 1
    用 keepass 就好了,免费开源,多端都有
    jayhuang0044
        6
    jayhuang0044  
       2 天前
    账号名称呢 同个平台 N 个账号
    Google, 10 个账号的时候, 账号名称是不是也要加进去
    surunzi
        7
    surunzi  
    OP
       2 天前
    @loading 核心算法直接用了某个开源的: https://github.com/jcoglan/vault ,没做任何修改,定期改密码的我一般都是跳过,印象还没哪个是一定要强制变更的。我的默认组合强度够强,特殊符号跟数字字母都包含,长度也够,一般都符合密码强度,除了某些奇葩网站不能包含特殊符号的。这种情况一般也不是什么重要网站,直接随便填一个常用的简单密码进去。不过确实偶尔遇到网站重要但规则不符合的,以前我是自己固定一个复杂密码用这类网站,现在这种情况是直接扔 keepass 里了。
    surunzi
        8
    surunzi  
    OP
       2 天前
    @sunnywx 后面有些情况不满足也寻找了下开源的密码管理方案,keepass 就在使用。不过之前那套用了好多年了,全部密码记录进去不现实,而且也没什么意义,现在是作为补充在用。重新实现的 keepass 管理工具纯粹是自己想清理掉所有的小工具,方便全平台统一使用。
    surunzi
        9
    surunzi  
    OP
       2 天前
    @jayhuang0044 我个人没这种需要😓 不过平台 + 账号名应该可以达到目的?直接填 google_xxx, google_zzz 之类的。
    surunzi
        10
    surunzi  
    OP
       2 天前
    这种方式使用十多年了,目前也没有发现有账号被盗的情况,密码长度设置够强且每个服务使用不同密码,密码也不存储在任何地方,只有我自己人肉记住唯一的密钥,自我感觉应该足够安全。。。
    chinni
        11
    chinni  
       2 天前
    这东西用多了 想不起来平台名字就 gg ,还有改名字的平台,多 url 的平台。反正挺烦的,终点就是 enpass bitwarden 1pass 了
    surunzi
        12
    surunzi  
    OP
       2 天前
    @chinni 大公司的别名是不可能会忘记的,其它的特殊名字改了你也搜得到它改名前是啥,域名换了也能搜出来之前的域名,概率极低。真忘记了的话,那就忘记了,基本上都是一次性注册的不怎么会再用的,这种我可能都是直接简单密码了。目前没遇到要用忘记别名怎么也想不起来 gg 的情况。
    chinni
        13
    chinni  
       2 天前
    @surunzi 我这种密码管理器里 1000 多个基本不适合记住那么多别名
    surunzi
        14
    surunzi  
    OP
       2 天前
    @chinni 牛逼,我是懒得去手动记这些的。。别名我尝试下来是不需要特别记住的,比如我很久不用的墨墨背单词,某天看到这个 app 想要登录,直接工具输入密钥跟“墨墨背单词”,密码就出来了,记录的别名基本就是名字或域名,不需要试很久,跟查找的效率是一样的。
    huaweii
        15
    huaweii  
       2 天前 via Android   ❤️ 1
    @surunzi
    @loading

    4 楼说的很清楚了。另外我给你一点诛心论,定期修改密码,是一个但凡对密码安全有点追求的玩家都绕不过去的坎,最终归宿永远都是密码管理器。你现在这个不上不下的需求,老实讲受众可能几乎没有。

    而且个人感觉是你虽然执行力拉满把代码撸出来了,但我预测很快你就会随着自己对密码安全的理解,转变成一个传统密码管理器的使用者。

    Anyways 分享一下无可厚非,但这种特殊需求的产物也就是自娱自乐了
    surunzi
        16
    surunzi  
    OP
       2 天前
    @huaweii 见人见智吧,定期修改密码,我个人觉得意义不是很大,公司也早就不要求员工定期更换密码了。核心是要所有网站都使用高强度的不同密码,防止一个被爆破其它也完蛋了。另外,这个东西严格来说也不是我发明的需求,我上面写了其实是用了开源库: https://github.com/jcoglan/vault ,也是十多年前无意看到别人推荐的,我也只是换了个界面皮而已。不过像你说的,这确实就是小众需求了。
    ios
        17
    ios  
       2 天前 via iPhone
    keepass iOS 客户端,没有一个好用的
    ITisCool
        18
    ITisCool  
       2 天前
    同样的思路,lesspass 了解一下,挺完善的,还开源,有多平台客户端,这东西好多年了
    longsays
        19
    longsays  
       2 天前 via Android
    一直有用自建的,差不多方案吧
    虽然这里的密码最后也存到 keepass 里面了
    主要用于不方便安装密码管理器的设备(一次性设备),网页输入直接复制密码
    https://i0.du0.org/mm/
    surunzi
        20
    surunzi  
    OP
       2 天前
    @ITisCool 看了下,确实是差不多的东西,多谢分享,之前还真不知道这个。
    surunzi
        21
    surunzi  
    OP
       2 天前
    @longsays 果然还是有人这么干的。其实在此之前一直都是放自己网站上,这次想统一下入口并且成本不高才全部迁到桌面工具上了。目前这个的源码也是纯前端实现,扣出来自己部署一份也很简单。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   995 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:33 · PVG 06:33 · LAX 15:33 · JFK 18:33
    ♥ Do have faith in what you're doing.