跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 为了媳妇,我不得不重构了我的小程序。
未分類
1 10 月 2020

为了媳妇,我不得不重构了我的小程序。

为了媳妇,我不得不重构了我的小程序。

資深大佬 : v2lhr 5

真事。

这个小程序是我大四的时候做的,用于记录自己的各种密码,但是数据只支持保存在本地。我媳妇也一直在用这个小程序,媳妇是做新媒体的,各种账号很多(应该保存了有四五十多个了),最近媳妇要换手机,但是数据没法迁移,因此直接推动了我重构了这个小程序。(当然我自己也一直有重构的想法,因为我自己也在用,且原来界面很丑!)

重构了之后支持云端存储数据。数据存储使用的是腾讯的云开发免费额度,有 2G,对于一个家庭来说完全足够了。数据加密方式支持使用 AES 和国密 SM4,加密密钥是主密码。

欢迎广大 V 友来体验哈!

小程序名称:账号助手。

小程序码:

为了媳妇,我不得不重构了我的小程序。

大佬有話說 (100)

  • 資深大佬 : wqh0109663

    现实是我觉得应该没人敢用 除非能看到源码 鬼知道你有没有坑人啊

  • 資深大佬 : Cielsky

    keepass 不好用,非得用不能跨平台的微信吗

  • 主 資深大佬 : v2lhr

    @Cielsky 小程序也算跨平台吧,pc 端也能用的,其他密码管理工具都试过,但是服务器在外国,不信任。。

  • 主 資深大佬 : v2lhr

    @wqh0109663 主要是自用的,可以支持私有部署哈,就是自己拥有一个自己的账号密码小程序。

  • 資深大佬 : villivateur

    小程序数据对微信都是透明的,除非用户同时信任你和

  • 資深大佬 : villivateur

    腾讯,不然不敢用的

  • 資深大佬 : Cielsky

    @v2lhr 太麻烦了,想用还得手机扫码。
    keepass 也算本地啊,可以用网盘同步数据库

  • 資深大佬 : gyh

    bitwarden 可以用自建服务器

  • 資深大佬 : chotow

    支持主的动手能力,不过还是吐槽一句,小程序并不友好,非要自己动手就自建 Bitwarden 。

  • 主 資深大佬 : v2lhr

    @villivateur 是的,但是使用 1password,keepass,lastpass,enpass,bitwarden 也是需要先信任这些产品的。我这小程序支持私有部署,不需要信任我,信任腾讯就可以了。还有数据都是加密的。

  • 主 資深大佬 : v2lhr

    @gyh
    @chotow 自建服务器需要钱[穷人掩面]

  • 主 資深大佬 : v2lhr

    @Cielsky 收藏小程序即可

  • 資深大佬 : v2han

    对我感觉有用!

  • 資深大佬 : mokeyjay

    想法是好的,不过不开源怕是没其他人敢用
    另外,设置主密码时是不是最好再让确认输入一次啊?

  • 資深大佬 : zhiyzellda

    可以用来存其他的扣扣号密码,和美团密码,58 密码。企鹅系的只存在企鹅系,非企鹅系的不可能敢存小程序里。

  • 主 資深大佬 : v2lhr

    @zhiyzellda 听起来是这样好像安全,但是细想这没道理呀

  • 主 資深大佬 : v2lhr

    @v2han 联系我,给你私有部署

  • 資深大佬 : icegaze

    keepass 不是可以用在本地存储和 smb 存储上面么?基本上就是私有了啊?

  • 資深大佬 : marvinemao

    借蹭下, 情侣头像

  • 資深大佬 : Maskeney

    @v2lhr 服务器在外国才更值得信任吧,君不知把数据放在与当地政 /府关系不好的公司手里会让你的数据更安全么?敌人的敌人就是朋友啊

  • 資深大佬 : tanranran

    借蹭下,催尿助手
    为了媳妇,我不得不重构了我的小程序。

  • 資深大佬 : Maskeney

    另外信任腾讯才是个笑话好吧

  • 資深大佬 : wangdefu

    不明白 keepass 怎么不好
    密码在本地

  • 資深大佬 : chitanda

    就像我把 iCloud 转到美区一样,这种敏感数据不敢放在国产的服务里面,因为他们必须遵守网络安全发

  • 資深大佬 : jerryrib

    Bitwarden 自建+定时备份到 U 盘

  • 資深大佬 : Jirajine

    主也是个奇才,连国外都不信任,却信任腾讯。。

  • 資深大佬 : ochatokori

    @v2lhr 并不是你支持私有部署就能信用你的小程序
    主要是小程序是热更新的,第一个版本没问题,用户私有部署之后,你可以之后热更新在小程序插入代码偷走用户的账户密码

  • 資深大佬 : dingwen07

    小程序能有持久性本地存储吗?
    不管怎么样不会信任微信来存储账号密码的,万一被封号了就惨了

  • 資深大佬 : geniussoft

    放腾讯里,还能安全了?
    管你怎么加密的,你显示和复制的时候都是明文,还能放过你么…
    连游戏里都能收集酸酸的配置信息,这种公司…

  • 資深大佬 : Vhc001

    主在 3 说的话把我逗笑了

  • 主 資深大佬 : v2lhr

    @Jirajine 人在国内为啥要信任国外

  • 主 資深大佬 : v2lhr

    @Vhc001 是呀,我就这样,有啥好笑的,你不用微信吗?

  • 資深大佬 : xiao201261

    这种隐私类的小程序还是算了

  • 主 資深大佬 : v2lhr

    @dingwen07 小程序云存储,小程序有免费额度的,被封号就有点麻烦咯

  • 資深大佬 : Jirajine

    @v2lhr 人在国内当然国内更不可信。
    百度和 Google 哪个拿了你的个人信息危害更大?
    当然也不是说国外一定可信,但不信任国外却信任腾讯就是笑话了。

  • 主 資深大佬 : v2lhr

    @xiao201261 私人部署哈

  • 資深大佬 : laydown

    主勇气可嘉。

    可是

    微信被封,密码焉在?

  • 主 資深大佬 : v2lhr

    @laydown 第一点,正确使用微信哈。第二,自己申请的小程序,据我了解保留云开发的 token 即可,通过后台能拿到加密的数据。

  • 資深大佬 : v2han

    @Maskeney 这话说的听起来好刺耳,那还用不用微信 QQ 。。。。

  • 資深大佬 : xsesjia

    笑死了

  • 主 資深大佬 : v2lhr

    @xsesjia 喵喵,兄弟有何高见

  • 資深大佬 : chensuifu

    主应该发在推广节点,看了 13 跟你的互动,就是推自己的公众号罢了。当个水军都不专业。

  • 資深大佬 : wevsty

    我觉得说了这么多应该是没人敢用的。

  • 主 資深大佬 : v2lhr

    @wevsty 人艰不拆

  • 資深大佬 : tomari

    感觉打不过竞品啊

  • 資深大佬 : henvm

    好了,知道你有媳妇了

  • 資深大佬 : reiayanami

    特意来围观信任腾讯的主。

  • 資深大佬 : wowodavid

    你这玩意还不如把密码直接贴到微信对话框里保存呢

  • 資深大佬 : nVoxel

    导出导入在小程序里能做么?

  • 資深大佬 : viator42

    安不安全不说,小程序本身用起来就够麻烦的

  • 資深大佬 : Mijjj

    @v2lhr #38
    怎么使用微信才算正确使用,我感觉使用微信就是最大的不可控因素…那么多封号案例你也不是没见过,有的人钱都取不出来,更何况你的个人数据?

  • 資深大佬 : designer

    主 为了推广自己的项目 哗众取宠

  • 資深大佬 : masker

    你就和你媳妇俩人自己用不就得了,这种私人的会有几个人会用

  • 資深大佬 : wyatt1e34

    密码这种强安全和隐私的怎么会想到放小程序。。。

  • 資深大佬 : foMM

    想起前不久的新闻“21 岁男子因微信被封号影响做生意,多次申诉无果后从腾讯用户接待中心坠亡”,密码这种东西还是用别的更可信的保存吧……

  • 資深大佬 : kenvix

    您是觉得 Bitwarden 和 KeePass 不好用?还是想要推广自己的小程序?还是想要骗取用户密码?

  • 資深大佬 : lei311

    腾讯云的免费存储是只有小程序能用吗?我有一个自己的账本应用,也想搞个云存储,买个服务器吧又不值当的

  • 資深大佬 : anonymous2022

    @Maskeney 我是把 bitwarden 部署在腾讯云上,那是不是部署在 gcp 上更合适一点…

  • 主 資深大佬 : v2lhr

    @kenvix 我不习惯用这俩,这个小程序我是希望自用的,骗取用户密码更没必要了,我是希望每个人都可以拥有个自己密码管理小程序。

  • 主 資深大佬 : v2lhr

    @lei311 小程序有云开发,能有免费额度的云存储,每个小程序每个环境 2G,一共有两个环境

  • 主 資深大佬 : v2lhr

    @wyatt1e34 数据加密就可以了,理论上除了你自己和 tx,要拿到这些加密数据需要破解你的微信和 tx 的云存储

  • 主 資深大佬 : v2lhr

    @anonymous2022 请问部署到腾讯云每年要花多少钱

  • 資深大佬 : anonymous2022

    @v2lhr 腾讯云新用户,1C2G1M,上淘宝,79 一年

  • 資深大佬 : kokutou

    在这装傻白甜…

    当大家都是傻子么…

  • 主 資深大佬 : v2lhr

    @kokutou 不明白你说装啥傻,说清楚点好不

  • 資深大佬 : cmdOptionKana

    @v2lhr 选择自己部署通常不会只部署一个服务,各种个人自用的小服务都可以放上去,是要花点钱,但玩法也多,而且可控性强,如果选择外国服务器,还可以顺便用来翻墙。

  • 資深大佬 : cmdOptionKana

    @lei311 可以考虑买个境外的 vps,账本、密码管理、翻墙、个人 blog 等等,各种东西都放上去,这样看起来就不算很贵了。

  • 資深大佬 : FradSer

    我对信息安全的定义:服务商无法看到我的数据。
    大佬对信息安全的定义:服务商不会偷偷转走我的钱。

    你看这就是境界的不同。

  • 主 資深大佬 : v2lhr

    @FradSer 理论上哪个你使用服务商看不到你的数据

  • 資深大佬 : Phishion

    @tanranran 这个太可以了,用了一下,感觉确实有点尿意

  • 資深大佬 : charten

    给个建议,做成那种类似 gitlab 安装包的模式,提供给普通用户自己部署(利用微信提供的免费空间)。

  • 資深大佬 : felixcode

    LZ 这样的标题应该发朋友圈,很多人会赞你的

  • 主 資深大佬 : v2lhr

    @charten 谢谢,我研究研究

  • 主 資深大佬 : v2lhr

    @felixcode 哈哈哈哈,可以可以

  • 資深大佬 : aeiou520

    bitwarden 不香嘛

  • 資深大佬 : Stain5

    国密 SM4 。。。。

    水深火热预定

  • 資深大佬 : coldear

    非傻即坏

  • 資深大佬 : roundgis

    代碼經過安全審計了沒?

  • 資深大佬 : blackmirror

    账号管理放腾讯,等于白送

  • 資深大佬 : nimab

    “信任腾讯”我没忍住,噗一声笑了,是认真的嘛?

  • 主 資深大佬 : v2lhr

    @Stain5 sm4 js 实现代码开源

  • 主 資深大佬 : v2lhr

    @nimab 要不你给出不信任的理由?

  • 主 資深大佬 : v2lhr

    @coldear 用腾讯服务的人超 10 亿吧,你算啥东西

  • 資深大佬 : huoshanhui

    感谢主分享。

  • 主 資深大佬 : v2lhr

    @huoshanhui 谢谢使用哈

  • 資深大佬 : chenshaoju

    核心问题在于,你没有办法证明你的小程序不会盗用密码。

    退一步讲,假设你不会盗用密码,怎么证明你的数据是加密的,而不是明文存储(或者你的私有密钥(密码)加密的),用户的主密码只是登陆的时候判断一下?

    再退一步,假设你是使用用户的主密码加密的,有什么东西能保证客户端向服务器提交主密码的时候,腾讯不会记录、拦截或者遭到 MITM ?

    说个案例吧,有个网盘叫 MEGA,主打安全加密。

    人家怎么证明安全呢?

    1.数据在客户端完成加密。( https://help.mega.nz/webclient/security-and-privacy.html )
    2.开源。( https://github.com/meganz/ )
    3.公司设立在司法体系更加健全的新西兰。

    人家拿出了东西证明自己的安全,而不是空口说说而已。

    腾讯收集信息是实打实的,去年腾讯旗下一款游戏公开声明会收集包括 SS 配置信息在内的非常多的信息: https://www.solidot.org/story?sid=59369 (这个事情至今很奇怪,发现作弊直接封号就完了为啥要收集这么多信息)。

    一个黑箱的系统当然会让注意安全的人怀疑,你相信这个黑箱的系统那是你的事情,但是别人则不一定相信,拿不出干货回应只耍嘴皮子和质疑其他(甚至是开源的)密码管理软件当然会继续被人喷。

    Talk is cheap. Show me the code. —— Linus

    PS:可能因为这么多人喷你,让你觉得受到打击了,但是国内隐私和数据保护做的确不好,先不说各种黑产,个人数据到处卖也不是什么少见的事情,这都 2020 年了,各种垃圾短信你也没少见吧?

    安全这个东西,真的很复杂。

  • 資深大佬 : yanqiyu

    In reply to #10

    Bitwarden 其实也是可以部署私有实例的,并且还开源,全平台,并且支持硬件 key,支持各种自动填充

    基于微信小程序除了容易上手(确实是一个大优点)之外没有什么竞争力,让自己的密码在剪切板和微信这样的不安全(指并非为处理密码而加强的设计)的环境走一圈不是什么好事情(读取剪切板不是难事),系统的密码自动填充 API 你又用不了

  • 資深大佬 : SKN133

    发现这一神贴也是看主发的
    细思恐极!用 iPhone 备忘录扫描文件竟被识别内容! https://www.v2ex.com/t/696437

  • 主 資深大佬 : v2lhr

    @SKN133 这有啥关系吗,想说明外国企业也不太可信? 哈哈哈

  • 主 資深大佬 : v2lhr

    @chenshaoju
    第一,我的小程序数据加解密密也是在客户端
    第二,加密算法实现也是开源

    sm4: https://github.com/wechat-miniprogram/sm-crypto/blob/master/src/sm4/index.js
    aes: https://github.com/brix/crypto-js/blob/develop/src/aes.js

    第三,其实我并不希望用户使用我的小程序,而是希望用户独立拥有一个自己的密码管理小程序
    第四,小程序有免费云存储额度(理论上可以存到腾讯倒闭)
    第五,用户保存的数据受微信和云存储鉴权保护
    第六,微信云开发采用的私有协议传输

  • 資深大佬 : foMM

    像 lz 脾气这么好的真是少见……

    分享自己的劳动成果被喷成这样,一般来说虽不至于恼羞成怒但是也不会好言好语的回复……

  • 主 資深大佬 : v2lhr

    @foMM 谢谢你,今天我让我媳妇看了看评论,她也怒了

  • 主 資深大佬 : v2lhr

    @ochatokori 小程序不支持热更新,每次更新都需要小程序拥有者提交审核

  • 資深大佬 : chenshaoju

    @v2lhr #90 这两个加密库是否开源和证明你是否使用了这两个加密库(以及使用方法)有什么关系吗……?

    我通篇没说这两个加密库是否安全,问题是“怎么证明你的数据是加密的”(客户端加密也看不出来,微信小程序没办法在开发工具里方便的查看)。

    说白了,就是没开源,一部分人也不知道你的小程序工作情况如何,提出疑问,另一部分人(和)就是不相信腾讯了。

    当然,这不是逼你开源,这就是一个交流过程(“不需要信任我”、“信任腾讯就可以了”,这种没有意义),从安全角度来说,开源离线密码管理器的安全性很大程度上是高于在线第三方托管的闭源管理平台。

    最近在看一本零信任网络的书,凑巧看到你的这篇帖子被人推(?)了,忍不住说两句。

    如有冒犯,还请见谅。

  • 資深大佬 : wevsty

    看来主还是不明白。

    对于密码管理器这种东西,安全体现在 2 个维度上。
    1 、数据的保密性
    1.1 对于数据的保密性,仅有主自称采用了什么算法来保证,并没有任何的证明。
    只贴个加密库的开源地址是没办法说明任何问题的。
    1.2 对这类产品用户同样需要信任开发者
    以目前的言行来看谈不上对开发者的信任。
    1.3 对操作环境的信任
    就跟大家都知道不应该在不信任的环境下输入密码一样。
    微信对于公众来说是黑盒无法指定它内部是怎么样实现并且会做什么,而你的程序完全依赖于微信这个黑盒。
    大家的回帖已经充分说明了,显然对于注重安全的群体来说是无法信任的。

    2 、数据的储存的可靠性
    基于数据是加密保存的前提下,数据储存的可靠是另一个问题。

    微信云提供的免费空间始终是免费提供给你的,这种免费服务是随时可以取消,不应该把数据的唯一希望寄托于这种免费的服务。
    另外有人问微信封号怎么办?你只回答要正确使用微信。绝大多数人都是没办法接受这种答案的,因为封号不封号是不可控的,应该也不会有人愿意以限制自己为条件来使用这个可替代的产品。

    一直纠结究竟是国内还是国外的服务可信是没有意义的,因为任何非自己物理上可控制的设备都不可以彻底的信任,这才是数据必须加密储存的原因。
    此外还要要预防数据丢失的问题,任何单一的储存介质都是不可信任的,这是基本原则。数据储存在微信云虽然腾讯保证数据的可用性,但是仍然是不应该信任的。数据能否自己导出这个问题主你自己并没有说明,就算可以,用户依然无法不依赖于微信来使用,这是个很大的问题。

    最后,无论主的产品怎么样,被人拿来和其他产品比较是不可避免的。
    对比我使用的 KeePass 来看:
    KeePass 开源。主的程序没有开源。
    KeePass 针对各种两步验证提供了解决方案(比如:TOTP )。主的产品对此毫无说明。
    KeePass 针对对密码管理器的各种攻击做了足够多的措施(比如:对抗密码穷举)。主的产品对此毫无说明。
    KeePass 本身只依赖于操作系统,并且在多种操作系统上都有对其协议的实现。主的产品必须依赖于微信。
    KeePass 的数据可以多地保存(无论是各种云产品还是存在本地的物理介质上),主的程序并没有说明这个问题。
    所以说对比各类竞品主的产品并没有什么优势。

  • 主 資深大佬 : v2lhr

    @wevsty 首先很荣幸得到你这么用心的回复。

    我对密码安全管理这方面知识比较少,我针对你的回复说明一下吧,但不知道对不对,仅供参考。

    第一点,关于开源问题,这个是可以考虑的事情,我的想法是帮用户部署一份代码,当然用户可以看到代码。
    第二点,查看到密码需要先登录微信然后输入主密码校验,且云开发还有一套鉴权规则。不知道这可不可以算是两步验证。
    第三点,抗穷举问题,小程序的云开发有请求次数限制,应该是每天 3w 请求,超过这个数量会有告警。因此一个小程序只适合家庭用。
    第三点,小程序依赖微信,微信依赖操作系统,跟 keepass 直接依赖操作系统,我感觉没啥区别。小程序也可以在 ios, android, win, mac 上运行
    第四点,我这个小程序也可以在本地保存,
    第五点,加密数据是可以导出的,在小程序开发工具的云管理后台可以看到。

    可靠性问题,小程序云开发存储是可以付费的,最低是 30 元每月,家庭用其实也不贵,也有两套云环境。我自个用免费的也足够了。
    最后还是会绕回使用者必须信任腾讯服务,就像你信任苹果,windows 和其他密码管理工具和它云服务一样。

  • 主 資深大佬 : v2lhr

    @wevsty 想请教下抗穷举的原理,要是能拿到加密数据,现实上没法抗穷举吧

  • 資深大佬 : ochatokori

    @v2lhr #92 这就是热更新啊。。
    就是说,你可以不需要用户同意就能更新小程序的代码,也就是说,你可以更新的时候往小程序里面插桩,私有部署的用户是不容易发现的,所以密码泄露的风险和能不能私有部署其实是没关系的

  • 主 資深大佬 : v2lhr

    @ochatokori 自用自用,不建议用户用我的小程序,建议用户自己部署一个,想怎么更新怎么来,还有小程序管理员有权决定用户能否使用云存储

  • 資深大佬 : xunco

    @v2lhr 你直接依赖微信和操作系统是一回事??操作系统可以更换,微信不行,一旦封号,没有任何补救措施

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具