做了一个"手动挡"的加密聊天应用,看看能不能给 v2er 当私信

84 天前
 xujinkai

纯静态页面,数据都在 localStorage 里。

基本工作流程是这样的:

  1. A 把自己的带公钥的链接发上来
    比如我的是 https://xujinkai.net/crypto/msg?share=025dc36429193eab5bbb5c8c9cfb8d007020be4a4f71452c6f758baf7dd2606d6a

  2. B 点开这个链接,输入内容点加密。这个时候页面会生成一个带加密内容的链接,并写进剪贴板。粘贴给 A ,A 打开就看到内容了。

全程围观的群众虽然能看到这两个交互的内容,但是无法解密。

原理:就是 ECDH 密钥交换,页面会自动生成一个私钥,A 的链接里带 A 的公钥,B 的链接里带 B 的公钥和密文。有对方的公钥和自己的私钥就可以算出一个密钥,就可以加解密了。

除了互相交换公钥的形式,还弄了个 psk 的形式,比如下边这个链接,直接打开会弹解密错误。 https://xujinkai.net/crypto/msg?sid=983ec9d0&encrypted=16d2108489cc87e9901787b6a8b4077e006fa02f42f726174f588323be338762&id=1730990463322

这时要先回界面点 New Session ,底下 psk 输入v2ex创建一个 session ,然后再来打开这个链接,就能看到内容了。

不带参数的链接: https://xujinkai.net/crypto/msg

3799 次点击
所在节点    程序员
31 条回复
realpg
84 天前
V2er 大部分不犯罪不反动,不需要加密私信
xujinkai
84 天前
@realpg #1 你说的对,我想的场景是私聊联系方式🤣
terrytw
83 天前
中国大陆人上 v2 就是犯罪
terrytw
83 天前
至于反动,去看看历史,给你挂一顶反动的帽子,还需要理由么
xujinkai
83 天前
@terrytw #4 你这。。。跟我这帖子有啥关系
Moonle
83 天前
@terrytw 你应该打繁体字
lovestudykid
83 天前
挺有用的,比如交换邮箱和联系方式,相比于自欺欺人的 base64 ,这个是真的可以起作用。但是很难推广开
kkk9
83 天前
@lovestudykid #7 邮箱地址本就应该是公开交换的,base64 只是尽量减少搜索引擎直接索引,而不是你觉得自欺欺人。
lovestudykid
83 天前
@kkk9 你愿意公开交换,不代表所有人都愿意
mayli
83 天前
这个跟一些 pastebin 加密看起来类似
niubee1
83 天前
支持压缩到 33bytes 的公钥不?
zuoshoufantexi
83 天前
@terrytw 违法和犯罪都分不清的……
niubee1
83 天前
这么聊天呢,感觉有点累,你改成是加密传文件呢,可能就合适了
ShareDuck
83 天前
@realpg 加密跟犯罪没有必然关系吧。微信的私信也是加密的。
RiESA
83 天前
感觉这样麻烦,很难推广开,你要是搓成浏览器扩展或者脚本啥的估计还有人用
Yanlongli
83 天前
加密从来不是难点,难点是 A 如何确认 B 的身份、B 如何确认 A 的身份
ZactorSimmons
83 天前
@livid #2 #3 主题无关 spam
xujinkai
83 天前
@niubee1 我用的就是压缩后的公钥,不然确实太长了。加密文件还没来得及做。

@Yanlongli 我想的典型场景就是 v2 交换联系方式。这也没有身份确认的必要,你联系的肯定是那个账号背后的人。base64 反而是谁都能解码谁都能联系。

@RiESA 就是临时用一下,也没想着能当聊天软件,那样超纲了
werls
83 天前
@ShareDuck 微信真的是加密吗?
tabc2tgacd
83 天前
需要加密聊天的话,可以用电子邮件客户端啊(比如 thunderbird),交换了公钥,然后就能开聊了,公钥可以通过其他途径交换(这样除非某人同时掌握了你交换公钥的途径和你的电邮服务商,否则这就是安全的)

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

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

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

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

© 2021 V2EX