V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
wssy921

有没有人自己做过密码管理软件,类似 1password 或者 lastpass。

  •  
  •   wssy921 · Jun 1, 2018 · 8537 views
    This topic created in 2888 days ago, the information mentioned may be changed or developed.

    现在需要记住的密码太多了,我以前都是使用 chrome 自带的密码记录工具,发现基本能满足使用。但是因为 google 的服务,在国内断断续续,所以有时保存的密码就没有上传。 可能就有部分网站或者软件的密码不记得。

    然后如果采取相同密码的策略的话,确实是不太安全。 又因为有很多密码管理软件曝出过数据泄露,所以一直想自己写一个密码管理软件。有没有大神有这方面的想法和思路,可以一起交流一下。

    44 replies    2018-06-06 07:41:59 +08:00
    liyer
        1
    liyer  
       Jun 1, 2018   ❤️ 1
    用网站的域名做密码
    比如我在 v2 的密码就是 pswd@v2ex
    很好记,也不会忘
    zn
        2
    zn  
       Jun 1, 2018 via iPhone   ❤️ 6
    @liyer 嗯,your password is mine
    anteros
        3
    anteros  
       Jun 1, 2018
    我做了一个 openssl_decrypt 的,自己用,密码随机生成。有浏览器就能用,真正‘夸平台’(狗头)
    codeeer
        4
    codeeer  
       Jun 1, 2018 via iPhone
    N 年前我实现过,当时 Windows 是主力机,所以只考虑 Android 和 Windows 同步私钥,这东西技术不是难点,主要是使用体验和安全,即使是内网也不是绝对可靠。需要额外考虑的有:不是所有网站都支持特殊字符,所以需要加个随机的范围限定。
    ZeoKarl
        5
    ZeoKarl  
       Jun 1, 2018 via iPhone
    做白日梦的时候想过,然后睡醒了懒病复发,随即作罢
    dallaslu
        6
    dallaslu  
       Jun 1, 2018
    那就用 1password 或 LastPass 呗
    icemanpro
        7
    icemanpro  
       Jun 1, 2018
    keepass
    dosmlp
        8
    dosmlp  
       Jun 1, 2018
    曾经想过,仔细想想太懒了,反正有 keepass,于是作罢
    missdeer
        9
    missdeer  
       Jun 1, 2018
    做白日梦的时候想过,然后睡醒了懒病复发,在 todo list 里躺了几年了
    现在用 keepass
    jybox
        10
    jybox  
       Jun 1, 2018
    A password manager based on GPG and Git compatible with pass
    https://github.com/jysperm/elecpass
    input2output
        11
    input2output  
       Jun 1, 2018
    @liyer #1 我也类似
    imn1
        12
    imn1  
       Jun 1, 2018
    我没有做密码管理软件,但写了一个 js
    思路很简单,不保存任何密码
    用一个公共 key 或者自己能记住的多个 key,key 也是不保存的,自己脑子记
    根据预存的参数(域名、账户、时间等可读取的信息),每次计算出密码,js 控制自动填入
    key、参数、算法固定的话,每次算出来都一样的,要更换密码时,换一个可变参数(例如时间)就行了

    因为不保存密码,甚至不经剪贴板,而且,算法部分的程序只放在本地,除非物理入侵获取算法

    不过手机是个问题,还好我是轻度用户,手机上只有几个需要密码的场合,基本都记得
    rekulas
        13
    rekulas  
       Jun 1, 2018   ❤️ 1
    我以前也有类似想法,但是自己写的话工作量不小,还要管理好备份这些,最终用户可能只有几个人,算了下不划算
    所以我针对 lastpass 进行了点修改,用 lastpass 的服务器来存储自己的密码,原理就是在 lastpass 加密之前先自己做一个预加密,安全性暴增

    https://github.com/del-xiong/lastpass_dopass
    sangmong
        14
    sangmong  
       Jun 1, 2018
    我想知道密码存在服务器安全还是存在本地安全?
    sephinh
        15
    sephinh  
       Jun 1, 2018 via iPhone
    keepass 够用了啊,数据库本地
    wssy921
        16
    wssy921  
    OP
       Jun 1, 2018
    @liyer 其实域名也可能会变的。
    wssy921
        17
    wssy921  
    OP
       Jun 1, 2018
    @dallaslu 第三方的密码工具曝光过数据泄露的风险。还有总感觉密码交给第三方云端不是很安全。
    wssy921
        18
    wssy921  
    OP
       Jun 1, 2018
    @rekulas 你这个思路很好啊,站在巨人的肩膀上[doge]
    wssy921
        19
    wssy921  
    OP
       Jun 1, 2018
    @imn1 你的是油猴脚本吗?
    imn1
        20
    imn1  
       Jun 1, 2018
    @wssy921
    开始是油猴,后来改 pentadactly 的 plugin 了,直接敲命令比点鼠标方便,而且浏览器级比网页级脚本安全些

    firefox quantum 没有浏览器级脚本,可能要考虑另外的方式了
    还好不是太复杂(指程序写法),手头还有 ps/py 两种版本,就算外部运行通过剪贴板操作也不太麻烦
    Firxiao
        21
    Firxiao  
       Jun 1, 2018
    如果你是 apple 全家桶的话 自带的密码保存很好用 同步全平台
    pipicat
        22
    pipicat  
       Jun 1, 2018
    第三方密码暴露问题,你可以通过不明文账号的形式。我账号基本都是用代号。1password
    waytocode
        23
    waytocode  
       Jun 1, 2018
    再造个轮子?
    qiutianaimeili
        24
    qiutianaimeili  
       Jun 1, 2018
    和你有过同样的困惑,我使用 xor 来进行加密 /解密的,具体的可以看看 http://qiutianaimeili.com/html/page/2017/10/ctf8kzjmc2g.html
    phithon
        25
    phithon  
       Jun 1, 2018
    大二刚学 MFC 的时候做过一个丑陋的
    https://github.com/phith0n/PasswordKeeper
    loveour
        26
    loveour  
       Jun 1, 2018
    我自己写过一个工具,我计算了一个文件的 HASH 值,用这个值去加密域名+我自己设置的一个短语,得出来的字符串按照一个规律截取一部分作为密码,这样,我只要保存好这个文件,记住短语,密码就不会忘掉的,不需要记在哪里。
    cxbig
        27
    cxbig  
       Jun 1, 2018
    免费的 KeePassXC
    收费的 1Password
    ve2y
        28
    ve2y  
       Jun 1, 2018
    bitwarden 了解一下
    Foolt
        29
    Foolt  
       Jun 1, 2018
    @liyer 直接用域名明文等于没用,社工一眼就能看出规则。
    Foolt
        30
    Foolt  
       Jun 1, 2018
    不用密码管理器也能记得不同密码。

    方法很简单,自己设计一条公式即可。

    设计一条公式,把应用名称首字母作为公式变量,然后做一个简单加密,好记,一般人也破解不了。

    比如说 V2EX 首字母是 v,在电脑和手机都有的全键盘中排在第 3 排第 4 位,而 v 平行左上角对应的数字是 4,从数字 4 与 v 的距离是 2,这些变量都不用自己记得,看一眼全键盘就能算出来,轻松实现不同字母开头的应用不同密码。

    是不是有人觉得容易破解?

    我来出一题,根据未知的公式算出来 V2EX 的密码是 127@Vv@134061,请问公式是什么?
    woncode
        31
    woncode  
       Jun 1, 2018 via Android
    @Foolt 不错哦
    NikiLauda
        32
    NikiLauda  
       Jun 1, 2018
    难道没有用 onenote 记密码的朋友吗,onenote 里面的分区可以单独设立密码,足够安全。
    xenme
        33
    xenme  
       Jun 1, 2018 via iPhone
    @Foolt 问题是很多地方有的要求只能能 6 位,有的要求很长,有的只能数字和英文字母,有的要求必须带符号,还有特殊符号不允许某些符号的。


    反正是太多了,用密码管理工具都得调整密码强度才能通过,自己设计的规则估计你到时候就搞不清了,所以简单点就是自己记几个密码而已。
    Foolt
        34
    Foolt  
       Jun 1, 2018 via Android
    @xenme 六位数字的也可以定一个规则啊,除了支付密码基本用到六位数的。不允许特殊符号的更少,我用这个方法很久了,印象中也就 12306 不允许特殊符号,长度不符合的还没遇到过。
    AltairT
        35
    AltairT  
       Jun 1, 2018 via iPhone
    @imn1 我跟你差不多,不过我懒得写一个摘要规则了,直接用的花密那套。
    只不过帐号本多处同步,记住种子就行(就两位)。
    msg7086
        36
    msg7086  
       Jun 2, 2018
    我自认为水平比那些密码大厂的工程师菜,所以我都是交给他们来管理密码的。
    lastpass 用的是 AES-256,我就算现在把我的整个加密的 vault 给你,等到宇宙毁灭的那时候你都不一定能拿到我的 v 站密码。
    easylee
        37
    easylee  
       Jun 2, 2018 via Android
    上大学那会儿正好爆发各种安全问题,自己便决定拟定规则作为种子然后计算密码,从来不保存密码,忘记了的话重新计算就好。

    这么多年了一直用到现在。
    mrcode
        38
    mrcode  
       Jun 2, 2018
    @easylee 一样的,想一个简单的算法。哈哈
    geelaw
        39
    geelaw  
       Jun 2, 2018 via iPhone
    🙄 看完楼上的土法密码学之后的我
    moxxun
        40
    moxxun  
       Jun 2, 2018 via iPhone
    masterpassword
    deali
        41
    deali  
       Jun 2, 2018
    之前用 Windows 的时候用 C#写了一个密码管理器,可以生成随机密码。
    https://github.com/Deali-Axy/PassNote

    现在不用 Windows 了,打算用 django 写一个 web 版的。
    Eugene1024
        42
    Eugene1024  
       Jun 2, 2018
    说实话,我很早就有这个想法,注册过数十个交网站和软件,这些网站或者软件密码规则不一样,下一次登陆的时候谁还记得当初密码是多少位的,而且密码很多,所以经常记不住密码,通常都是手机号找回,我想到设计一款密码工具,能让我跨平台使用的能帮我记住在各个网站或者软件上的密码,忘记的时候,打开这个软件,自动识别软件是啥,自动输入密码,点击登录,让一切变的简单;让生活更加美好,想象力有点丰富,这个想法不太可行被我否决了。
    然后就想不出什么好的方法了,最多就是开发个小工具能让自己有时候跨平台打开看一下,密码是啥,当然密码是被我自己混淆加密过的,网站名也是。目前就这样,更简单的是笔记本记录。没有从根本上解决这个问题
    zhu921020
        43
    zhu921020  
       Jun 2, 2018
    我用 lastpass 自动生成,小网站就直接使用,重要点的我就会在 lastpass 生成的密码里面加入几个数字,lastpass 密码管理器里面只保存生成的密码,不保存自己后加的数字,这样就可以完美解决了
    zjyl1994
        44
    zjyl1994  
       Jun 6, 2018 via Android
    有个方案,md5(主密码+网站名字),得到的结果再处理一下大小写。做成个纯前端网站就好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5526 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 159ms · UTC 09:16 · PVG 17:16 · LAX 02:16 · JFK 05:16
    ♥ Do have faith in what you're doing.