用过的不是很多,主要是有点疑惑,它存储了我们的密码,是不是很有可能获得解密后的密码?
1Password, 收费,数据存在本地。拼车的话据说管理员误操作会被删等。
lastPass, 分免费和收费,数据存在云端。
他们都很方便,通过浏览器插件等可以一键补全,功能丰富的同时学习成本会高一点
当然每个产品都有缺点,只是它的优点是不是能够让你不计较它的缺点。
一个表格来输入你的平台,账户,密码:
键盘右下角的 next 或下一项是可以跳到下个输入框的,相关的键盘反复弹起是小程序官方待修复的问题,我是没找到解。
通过手势加密:
说明:
加密后上传到云端,我只用了腾讯小程序云开发的数据库,没有其他服务器:
查看密码时,我们可以解密来查看,解密的手势和加密一致:
当然解密逻辑是当前 asicc 码减相应数字
如果其他人用暴力的方式去试解密,尝试后并不轻易这次解密后的字符是不是正确的,因为看起来好像都像正确。 正确的手势只有加密的你自己知道。
我只存储加密后的内容,加密手势不会存储,忘了的话只有自己试。 可以多次加密来增加复杂性。 也可以在表格中故意设置几个错误字符,记得就好。 如果自己还是比较谨慎,大家都可以尝试抓该微信小程序的包。
个人认为最主要的优点是借助微信平台的便利,没有学习成本,安装成本,它只是个记录表格
todo:
如果大家测试出来 bug 向我反映呀。。
如果你有需要,欢迎添加我的小程序或提出意见:
加密:
小程序码:
我自己用吧,用自己的作品还是很开心的。
1
geelaw 2019-09-17 01:18:22 +08:00 via iPhone 6
我强烈建议任何觉得自己的账户应该保密的人不要用这个软件。
这个加密方法里安全差十万八千里。 |
3
noqwerty 2019-09-17 01:23:57 +08:00 8
不是打击你的积极性,但是为什么你会觉得这个比 AES-256 更安全呢😂
|
4
Raymon111111 2019-09-17 01:29:39 +08:00 1
真的不要尝试自己实现加密算法
现成推荐使用的加密算法至少是经过考验的 |
5
littlespider89 2019-09-17 01:38:43 +08:00 3
加密方法类似于凯撒加密? 因为一般用户名甚至很多密码都是有意义的单词或者纯数字,用穷举法一解密就能很快找出密钥(手势)和原密码,所以感觉安全性有待加强
即使这样,还是给 LZ 点个赞,支持 LZ 持续更新下去 好像互联网上的使用同一个密码或者两到三个密码的还是大多数,123456,password 这种密码还处处可见… |
6
littlespider89 2019-09-17 01:46:09 +08:00 1
TODO:生成随机密码,参考 keepass,chrome 表单密码
TODO:既然上传云,最好连平台这个参数也加密了,当然加密算法一定要有保障 |
7
ZRS 2019-09-17 01:52:06 +08:00 1
涉及到安全的问题...最好不要自己造轮子
|
8
polaa 2019-09-17 02:49:22 +08:00 4
我学密码学现在唯一还记得的就是: 不要自己造加密算法
|
9
efsg 2019-09-17 03:00:35 +08:00 via Android
推荐自建 Bitwarden
|
10
someonedeng 2019-09-17 04:25:33 +08:00
对称加密这么多,就别造轮子了
|
11
0TSH60F7J2rVkg8t 2019-09-17 07:30:19 +08:00 via iPhone 2
加密安全问题楼上都说了,我就说个,万一微信被盗,这些密码岂不是全都丢了?何况还得单独开微信,再开小程序,再来手势解锁,繁琐程度也不低了。
不是打击楼主,从安全的角度说,使用 txt 存密码,用 cryptomator 再配合云同步,都比小程序安全。 楼主的精神可嘉,值得鼓励,只是涉及密码学安全方面的开发,楼主还需要补相关专业知识,切不可想当然。 |
12
wanacry 2019-09-17 08:14:37 +08:00 via iPhone
密码数据放微信上表示可还行
|
13
Nasei 2019-09-17 08:18:01 +08:00 via Android
我把密码放 OneNote 上了,然后分区加上密码,其实只有增加密码的时候才会用,因为基本都能记住
|
14
nullboy 2019-09-17 08:20:43 +08:00
我是用 gpg,自己生成密钥对进行加密。win 上用 Kleopatra 客户端
|
15
winterbells 2019-09-17 08:21:18 +08:00 via Android
推荐使用 zf 婊的钢铁匣[:doge]
|
16
s1th 2019-09-17 08:26:05 +08:00 via iPhone
我 1password 的加密文件放在云上贵州都觉得不安全🐶
|
17
kaesi0 2019-09-17 08:41:25 +08:00
只用 keepass
|
18
avenger 2019-09-17 08:45:43 +08:00 via iPhone
1password 用了好多年,楼主说只能存在本地的观点是哪来了?
|
19
amazingrise 2019-09-17 08:47:38 +08:00 via Android
我一看加密后的是 defabc,就知道这玩意差不多是凯撒密码了
|
20
masker 2019-09-17 08:49:41 +08:00 via Android
todo 不要自己造轮子。
|
21
Varobjs 2019-09-17 08:52:30 +08:00 via Android
和我写的一个差不多,不过我是用 AES256 加密后存储的
|
22
alphatoad 2019-09-17 08:58:04 +08:00 via iPhone
|
23
alphatoad 2019-09-17 08:58:44 +08:00 via iPhone
|
24
the7 2019-09-17 09:08:03 +08:00 via iPhone 1
楼主辛苦了,其实我以前也想做一个来着,但总觉得用小程序管理密码稍显繁琐。
在 pc 上的话,要打开手机,打开微信,进入小程序,再手势或输入管理密码,才能找到自己存的密码。所以在 pc 端需要操作的步骤有点多。 而在移动端,我看 1password 这些还有密码自动填充功能,不知道如何实现的,但这种方式确实比去小程序找密码要方便。而且现在还有手机验证码登录,三方登录,生物识别验证登录等,感觉手机端越来越不需要密码了 |
25
smilzman 2019-09-17 09:12:39 +08:00 1
我是 Enpass+自己建的 https://tools.mrjooz.com/pwd/
|
26
Davic1 2019-09-17 09:14:29 +08:00
最好的密码管理软件只有 1 个, 叫 Brain
|
27
claymore94 OP @geelaw 有何改进高见?
|
29
lastpass 2019-09-17 09:36:21 +08:00 via Android
为何不使用 lastpass??
|
30
claymore94 OP |
31
claymore94 OP @lastpass 我不知道它怎么存的,有存即有解
|
32
learnshare 2019-09-17 09:47:03 +08:00
如何保证个人作品比大厂的服务更可靠,更安全?
小程序能保证 7*24 可靠服务么,能网页、App 自动填表单么 |
33
liyer 2019-09-17 09:51:05 +08:00
反正我现在是网站密码都自动记在浏览器,多端同步,APP 密码存在华为手机密码保险箱里,银行卡密码是 6 个 8,手机解锁码是 6 个 6。我觉得就很方便啊
|
34
claymore94 OP |
35
claymore94 OP @liyer 这样好么,这么简单。。
|
36
Yuicon 2019-09-17 10:06:13 +08:00
我自己搞了个网站记密码 还直接明文存储 因为我知道没人攻击。。。
|
37
claymore94 OP @Yuicon 也会有吧,我的云服务器,日志上经常有人来扫我数据库端口,最好防范一下
|
38
Yuicon 2019-09-17 10:15:40 +08:00
@claymore94 买的云数据库,腾讯云的学生福利 3 年也很便宜
|
39
1340976576 2019-09-17 10:22:28 +08:00
支付宝有一个安全备忘,一直在用
|
40
NextNal 2019-09-17 10:45:29 +08:00 via Android
keeweb 没考虑过么
|
41
0TSH60F7J2rVkg8t 2019-09-17 12:05:39 +08:00
@claymore94 但是也有可能哪一天因为一句话,或者别的原因,导致账号被锁,或者被封,这时候全在小程序里的密码不都丢了么?起码密码得在本地有个备份吧?
|
42
claymore94 OP @ahhui 所以 todo 里有个导出功能做备份啊
|
43
phpc 2019-09-17 12:24:15 +08:00
推荐 keepass。开源且数据储存在本地
|
44
shenme 2019-09-17 12:30:27 +08:00
额,一直用 chrome 记密码
|
45
oisc 2019-09-17 12:59:31 +08:00
问一下 asicc 码是什么?
|
46
dingyaguang117 2019-09-17 13:01:09 +08:00
问题在于常用手势太集中了
相当于密码都集中在 123456,111111,..... |
48
claymore94 OP |
49
claymore94 OP @phpc keepass 好像没 ios
|
50
tesorouo 2019-09-17 13:46:21 +08:00
我怀疑你在钓鱼,可是我没有证据
|
51
ooops 2019-09-17 13:58:00 +08:00
主要的问题还是不安全不便利。
|
52
wolfan 2019-09-17 14:12:15 +08:00 via Android
表示记在便签里
|
53
TristanYang 2019-09-17 14:24:35 +08:00
https://works.yangerxiao.com/strong-password-generator/
想起来以前做过的一个超强密码生成器。 没啥卵用,但还是用心做到了极致,权当练手了。😀 |
54
surpass7 2019-09-17 14:28:37 +08:00 via iPhone
@claymore94 keepass 有 ios 客户端,去官网上找链接
|
56
claymore94 OP |
57
JunoNin 2019-09-17 14:30:49 +08:00
keep 被我用来专门记录账号密码
|
58
claymore94 OP @TristanYang 不错,自己做出来可用就有成就感了
|
59
jinhao7773 2019-09-17 14:45:46 +08:00
直接自己搞个 github 的私库,存放文本文件就行,还顺带了版本记录功能。
|
60
pmispig 2019-09-17 15:02:21 +08:00
为什么你会觉得别人愿意把密码交给你保管呢
|
61
wolfan 2019-09-17 15:04:55 +08:00 via Android 1
emmmm
每月要求更密的话,为什么不用 花密 非常适合你→_→需求啊,站点+年月日,天天换都能记的下😬 |
62
falcon05 2019-09-17 15:15:43 +08:00 via iPhone
操作略繁琐,而且很难集成到浏览器
|
63
claymore94 OP |
64
libook 2019-09-17 15:30:10 +08:00
一直在用 Lastpass,感觉完全满足需求。
云安全的关键点在于加解密都在本地进行,让云端没有任何解密能力。 基本思路就是用用户提供的主密码,做不可逆的 Hash 运算,使用生成的 Hash 串以固定算法生成对称加密秘钥,然后对整个密码库进行加密,再上传云端。 这时候即便云端有解密算法,但没有用户的主密码做为引子是无法解密的。 解密的时候从云端拉取加密过的密码库,用户输入主密码,做不可逆的 Hash 运算,再用同样的固定算法生成对称加密秘钥,用对称加密的解密算法把密码库解密,取出密码。 这个应该可以解决云安全的问题,但还有很多其他安全问题需要解决,比如本地安全问题、钓鱼。 Hash 步骤可有可无,加上可以某种程度上提高安全等级(因为 Hash 串通常都比主密码长很多,增加暴力破解难度,即便暴力破解了也不知道主密码是什么,避免撞库)。 还要考虑多种解密方式,因为主密码可能会忘记,不清楚 Lastpass 是如何实现的,一种思路是把主密码 Hash 生成的对称秘钥导出来,让用户在安全的地方妥善保存,一旦用户忘记了主密码,就直接使用秘钥来解密密码库+改密码。 其他的就是便利性,商业的密码管理工具都是提供跨平台密码输入工具的,有的还提供团队共享密码的机制。 最后: 不要自己造加密算法! 不要自己造加密算法! 不要自己造加密算法! 除非你自己是个密码学博士,发的 Paper 经过几家顶级安全实验室验证 OK~ |
65
qiutianaimeili 2019-09-17 15:31:22 +08:00
同情楼主,其实楼主只是好心分享,我之前也做过这种类似的密码管理,不过一发出来就是各种讥讽,瞧不上。后来也不敢发了。。。
|
66
HeiXiaoBai 2019-09-17 15:36:18 +08:00
@claymore94 #63 所以明明有现成的多平台终端(Win\Linux\Android\iOS 等),自动输入,多浏览器插件集成,高安全性防爆破的密码管理器,就不需要这个小程序实现了
|
67
ww940521 2019-09-17 15:36:30 +08:00
Google 自带的密码管理多方便。
|
68
claymore94 OP @libook 不能用手势后的内容做引子 做 salt,因为它的组合情况较少, 算一遍所有 hash 情况就出来了。 按你说这种,主密码的话会涉及用户输入,个人感觉不方便,还是要证明个人没有存储用户的主密码。。。
@qiutianaimeili 握手, 哎,早知道就不发出来了,自己用就挺好。 @HeiXiaoBai 那有一些安装和学习成本呀,我说了,它们很好,我这个就是个表格 |
69
annielong 2019-09-17 16:24:34 +08:00
花密就够用了
|
70
geelaw 2019-09-17 16:53:14 +08:00 4
@Raymon111111 #4 楼主的错误还没发展到这么高级的阶段,他的错误在于选择一个非主流的 **算法**,而不是选择一个非主流的 **实现**。
@claymore94 #27 评论是否安全不需要知道怎么做才安全。 此外,证明一个东西不安全是一件非常容易的事情。 具体到楼主的方案,你可以参考任何一个本科生密码学课程的前两节课的内容。 一个简单的提示是这样的:QQ 号码是多位数字,因此可以把位移量缩小到一个非常小的范围内,接下来再结合其他用户名的有意义性就差不多可以算出位移量,因此可以从楼主的密文中还原出所有的密码。 这是一个惟密文攻击下不安全的方案——现代安全工具通常使用的是选择密文攻击下安全的方案。 @claymore94 #48 加密算法的安全性不应当依赖于明文(这里就是你需要加密的密码)的随机性,任何选择明文攻击下安全的加密方案,加密 1111111111111 和 s$Kf5%i&e?gfu 之后都是无法辨别的。 至于密码本身是弱密码容易被攻破,那并不是通过你的密码管理器攻破的,和你的密码管理器没有关系。 @claymore94 #63 我没有用过任何密码管理器,但我相信几乎所有的密码管理器的算法都是公开的,云端存储并不会包括密钥,加上加密算法的安全性,可以相信厂商并没有解密的能力。 @libook #64 并不需要是密码学博士,需要的是密码学知识,以及能够在久经考验的假设下形式化证明安全性。 最后回复附言: > 我自己用吧,用自己的作品还是很开心的。 我在 1 楼的建议也适用于楼主本人。或许用自己写的密码管理器很开心,但是这个密码管理器非常不安全。当然本身的不安全性也不是什么巨大的实际威胁,只要你愿意相信 Tencent 不会偷看你的内容;真正的威胁是虚假的安全感。 |
71
baojie223 2019-09-17 17:25:53 +08:00
佩服楼主,我也想自己做点东西
|
72
ily433664 2019-09-17 17:50:50 +08:00
之前密码基本是某几个常用的字母+数字
现在的新密码都改成了,当前使用的产品+数字+特殊字符 只要记住了规律就可以了,实在不行就重置密码 |
73
leeton 2019-09-17 17:54:42 +08:00
我发现我现在最怕撞库了,我各个地方的密码都是一样的,有一天撞库我就完蛋了,唉
|
74
Colis 2019-09-17 18:21:10 +08:00
手机安装软件, 密码保存在本地, 同时禁止这个软件联网
|
75
dingyaguang117 2019-09-17 18:37:42 +08:00
@claymore94 你没懂我说的,问题在于手势密码太复杂自己记不住,太简单被暴力破解概率大大提高,还不如设置一个文本秘钥
|
76
msg7086 2019-09-17 22:47:53 +08:00 via Android
做东西很好啊。
但是请你自己也不要用。太危险了。 这就像一个门外汉纯手工打造了一辆跑车,看上去非常酷,但是你敢 200 公里速度飙一把吗? |
77
msg7086 2019-09-17 22:49:35 +08:00 via Android
(如果对自己的安全措施有自信的话,不妨把你自己密码库的密文信息贴出来。我们用的 AES 根本不怕暴露密文,你怕吗?
|
78
zpvip 2019-09-17 23:08:16 +08:00
@claymore94 建议把你加密后的密码库发出来,看看多久被攻破。当然要真实的密码库,用户名是 Email 或 V2EX 这种字母数字组合。
|
79
mdb 2019-09-17 23:16:09 +08:00
自己写了一个 winform 版的加密工具,原理就是把账号密码相关信息用 AES 加密然后保存到一个文件里,目前只在 PC 端上用,接下来想把它弄成多端同步的,因为密码都是加密后的字符,所以存到哪都不用怕,当然自己写的工具安全性怎么样只有自己知道...
|
80
mozutaba 2019-09-18 08:59:37 +08:00
掏个笔记本写下来也比你这个方便可靠啊
|
81
wolfie 2019-09-18 10:23:06 +08:00
@Davic1 #47
有几个情况比较难记 - 注册多个账号(需要记录多个账号,可能是自己手机,也可能是云短信注册) - 银行卡( 6 位)、手机银行(打电话登录的)、网银密码、银行 APP、银行 APP 支付(这几项可能存在不允许相同) - 加密文件密码,比如存放 github recovery code 文件的加密密码 |
83
sunmker 2019-09-18 10:47:24 +08:00
我以前也做过一个安卓的密码本,为了记密码,完全存在手机本地支持备份,自己觉得还行。
直到我刷机国际版发现有 Google 自动填充 之后,再也没有更新过自己的密码本 App。 |
84
Eugene1024 2019-09-18 10:59:45 +08:00
@TristanYang 使用了你这个生成器的密码,如果忘记了是不是只能重置密码了
|
85
TristanYang 2019-09-18 11:11:14 +08:00
@Eugene1024 哈哈 我这个工具没啥卵用 用过之后绝对让你想不起来密码是啥 当然我可以做本地保存使用的密码 但就安全性而言 这样做就没啥意义了
|
86
0TSH60F7J2rVkg8t 2019-09-18 11:19:51 +08:00 1
@claymore94 楼主真要想把这个工具完善起来,增加安全性的话,我建议楼主读一下这个文档,了解一下里面提到的 RFC,以及加密方案的选择和细节,自己琢磨一下:
https://docs.cryptomator.org/en/latest/security/architecture/ |
87
libook 2019-09-18 13:32:24 +08:00 1
@claymore94
Lastpass 也不是每次都需要使用主密码,如果用户愿意信任设备环境,用降低安全性来换取提升便利性也是可以的,比如本地缓存主密码,然后使用环境提供的其他可靠机制来控制主密码缓存的使用,像浏览器扩展运行的沙盒环境、手机系统提供的手势密码、指纹、虹膜、人脸识别等,环境厂商会负责保障这些的安全性,如果用户信任这些的话,可以让用户自愿选择将主密码缓存至本地,这样就不需要每次输入主密码了。但换设备就一定得输入主密码了,毕竟新设备本地没有缓存。 安卓系统上的手势解锁的安全性主要不是在于位数,而是在于本身是封闭的,输入手势和解密是一起哈成的,用户不可能绕过输入手势的环节直接输入手势的每一位对应的代码来暴力破解(假设没有程序失误),但如果输入手势和解密是两个独立阶段且对外暴露的话,就肯定会产生暴力破解的风险;这么讲可能过于抽象,我举个例子吧,我们日常生活中的锁,之所以具备较好的安全性,主要是因为锁外面的一层厚厚的铁壳,使得锁内部的机械成为一个封闭系统,如果它是开放的、可以任意操作里面的机械,那么安全性就肯定下降了很多。另外手势解锁的封闭系统内也有超过错误次数上限就禁止尝试这种机制,同样也是无法绕过的(假设没有程序失误)。 其实并没有泼冷水的意思,只是发现了一些问题,不希望楼主因为这些问题而造成损失,所以就及时提出来了。 有极客精神是非常可贵的,也希望楼主不要有负能量。 不过任何产品都是需要不断打磨不断迭代的,我相信很多人也都是希望自己提供的建议能够被采纳于改进产品,知识不足可以学,设计不完善可以再慢慢琢磨。 |
89
chengkai1853 2019-09-18 21:05:43 +08:00
看到 Keepass,借楼我自己就写了个 Keepass 的 ios 端的客户端(奇密)
https://apps.apple.com/cn/app/fantasypass-ikeepass/id1357961740 |
90
summer20100514 2019-09-19 10:48:34 +08:00
安全无小事,最近面小米的感想。
|
91
Valid 2019-09-20 11:13:14 +08:00
9102 年了,ui 还这样吗
|