密码管理小工具

3 月 14 日
 surunzi

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

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

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

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

2970 次点击
所在节点    分享创造
22 条回复
stinkytofux
3 月 14 日
何必呢, 直接用密码管理器得了.
surunzi
3 月 14 日
@stinkytofux 十年前用的时候还不知道有密码管理器这种东西,后面知道了,但感觉也没方便多少,就一直这样用着。
EthanCN
3 月 14 日
有这类需求的用户折腾到终点都是密码管理器。
loading
3 月 14 日
我没看你的代码,应该与下面的类似

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

你这个 encode 最简单就是用 base64

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

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

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

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

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

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

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

Anyways 分享一下无可厚非,但这种特殊需求的产物也就是自娱自乐了
surunzi
3 月 14 日
@huaweii 见人见智吧,定期修改密码,我个人觉得意义不是很大,公司也早就不要求员工定期更换密码了。核心是要所有网站都使用高强度的不同密码,防止一个被爆破其它也完蛋了。另外,这个东西严格来说也不是我发明的需求,我上面写了其实是用了开源库: https://github.com/jcoglan/vault ,也是十多年前无意看到别人推荐的,我也只是换了个界面皮而已。不过像你说的,这确实就是小众需求了。
ios
3 月 14 日
keepass iOS 客户端,没有一个好用的
ITisCool
3 月 14 日
同样的思路,lesspass 了解一下,挺完善的,还开源,有多平台客户端,这东西好多年了
longsays
3 月 14 日
一直有用自建的,差不多方案吧
虽然这里的密码最后也存到 keepass 里面了
主要用于不方便安装密码管理器的设备(一次性设备),网页输入直接复制密码
https://i0.du0.org/mm/
surunzi
3 月 14 日
@ITisCool 看了下,确实是差不多的东西,多谢分享,之前还真不知道这个。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1198201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX