V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  also24  ›  全部回复第 169 页 / 共 284 页
回复总数  5677
1 ... 165  166  167  168  169  170  171  172  173  174 ... 284  
2020-02-24 13:25:36 +08:00
回复了 iyg429 创建的主题 路由器 如何让局域网按需求 走线路?
旁路由,手动配置网关
2020-02-23 21:02:14 +08:00
回复了 xuthus 创建的主题 Go 编程语言 云盘系统如何设计文件加密
可以参考 seafile 的相关设计,seafile 是开源的。

源码见:
https://github.com/haiwen/


它提供了对单个资料库进行加密的功能,相应的介绍如下:
https://cloud.seafile.com/published/seafile-manual-cn/security/security_features.md
当你创建一个加密资料库,你将为其提供一个密码。所有资料库中的数据在上传到服务器之前都将用密码进行加密。
加密流程:
1.生成一个 32 字节长的加密的强随机数。它将被用作文件加密秘钥(“文件秘钥”)。
2.用用户提供的密码对文件秘钥进行加密 (使用 PBKDF2 算法)。加密后的文件秘钥将会被发送到服务器并保存下来。
3.在文件同步的时候,先用用户输入的密码解密出文件秘钥,然后使用文件秘钥加密文件(使用 AES 256/CBC 算法),加密完后再上传文件。下载的时候,先用用户输入的密码解密出文件秘钥,然后使用文件秘钥解密文件。在上述过程中,你的密码将不会被传输到服务器上。
2020-02-23 20:51:07 +08:00
回复了 xuthus 创建的主题 JavaScript 浏览器上进行文件 AES 加密解密
总结一下,请务必分清楚几种不同的数据格式:

一个字符串,它的内容是:『 V2EX 』

对应的 ASCII 码是:
86 50 69 88

对应的十六进制分别为:
56 32 45 58

那么在 UTF8 / ANSI 编码下,按大端序书写,它的二进制( binary )内容是:
0101 0110 0011 0010 0100 0101 0101 1000

相应的 HEX 字符串就是:
0x56324558

相应的 base64 字符串是:
VjJFWA==

你的错误就在于混淆使用了 binary / b64 String / HEX String,从而导致混乱

不过确实,网上找到的很多资料都在混淆使用或者不仔细说明。
事实上,AES 的 encrypt 方法只管你输入的是 binary( byte array ) 就好了,字符串还是文件对它来说没区别。

总之,你这里只需要配合 FileReader,选择正确的编解码方式就好了。
个人不建议对 base64 String 进行加解密操作,这样会造成密文文件体积增大,徒增开销。
如果我没有理解错的话,直接使用 FileReader.readAsArrayBuffer() 应该能够避免中间 b64 编解码的开销。
2020-02-23 20:35:19 +08:00
回复了 xuthus 创建的主题 JavaScript 浏览器上进行文件 AES 加密解密
https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader

我看了一下 FileReader,在读取的时候需要指定
FileReader.readAsArrayBuffer()
FileReader.readAsBinaryString()
FileReader.readAsDataURL()

你在 encode 方法里用的是 readAsDataURL,也就是说 reader.result 里其实是文件在 base64 编码后的字符串。
而你把这个字符串直接传进了 encrypt 方法,也就是说此时你其实是在加密这个字符串。
encrypt 方法返回的 encryptedData 直接 tostring 的话,是密文 base64 后的字符串,
但你取的是 encryptedData.ciphertext.tostring(),这个实际上是密文的 hexString 字符串。

相应的,你在 Decode 方法里使用的是 readAsText,文件内容是字符串的情况下也不算太错
但是你把这串文本直接丢进 decrypt 方法就大错特错了,应当从 hexString 转回 Blob 才对


当然,以上是针对你的程序来说的。
我来写的话,应该会选择 readAsDataURL 读到 base64 编码后的文件,
然后 base64 解码后丢进 encrypt 方法,再把 encryptedData.toString() 的字符串解码后丢进输出文件。
2020-02-23 20:17:51 +08:00
回复了 xuthus 创建的主题 JavaScript 浏览器上进行文件 AES 加密解密
另外,我看了下,你的 AES 似乎没有指定 mode ?

你可以需要了解一下 AES 的几种 mode
https://zh.wikipedia.org/zh-hans/%E5%88%86%E7%BB%84%E5%AF%86%E7%A0%81%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F
2020-02-23 20:12:54 +08:00
回复了 xuthus 创建的主题 JavaScript 浏览器上进行文件 AES 加密解密
另:你可能没有理解电子工业出版社的梗

你可以点击下面链接里的 『立即阅读』,它的在线阅读器里的 pdf 就是用 JS 做的 AES 解密:
https://yd.51zhy.cn/ebook/web/newBook/queryNewBookById?id=64556589
2020-02-23 20:11:41 +08:00
回复了 xuthus 创建的主题 JavaScript 浏览器上进行文件 AES 加密解密
@xuthus #3
你 decrypt 之后,为什么要 tostring ?
2020-02-23 19:58:25 +08:00
回复了 xuthus 创建的主题 JavaScript 浏览器上进行文件 AES 加密解密
CryptoJS 可以解密 bin 的吧…

// 不信你看电子工业出版社的 pdf
2020-02-23 19:42:43 +08:00
回复了 dudesun 创建的主题 问与答 2015 款 15 寸 rmbp 更换 nvme 后功耗还是会高一些的
说起功耗就不得不提 SN500 了…
上面打错……

留薪停职?

停薪留职?
留薪停职?

停职留薪?
2020-02-23 17:48:06 +08:00
回复了 NeezerGu 创建的主题 MacBook Pro 安利一下雷电 3 的硬盘盒
@1002xin #24
三星 T5 是 ASM235CM 主控 + mSATA:
https://www.anandtech.com/show/11719/

https://i.loli.net/2020/02/23/aKnFUAsrqpyiBCw.png


三星 X5 是 DSL6340 主控 + nvme M.2
http://anandtech.com/show/13276/

https://i.loli.net/2020/02/23/RrvzhYISV2JwKBu.png



我相信三星会做更多的兼容性测试,但是主控和板子放在这里的情况下,我还真不觉得会有天大的差别。
2020-02-23 16:46:59 +08:00
回复了 chenhui7373 创建的主题 Dart Fuchsia OS 预计还有 75 天后发布
既然这个单词带有紫红色的意思,而众所周知,■■紫,那么不如直接叫做:■■系统?
2020-02-22 22:24:43 +08:00
回复了 NeezerGu 创建的主题 MacBook Pro 安利一下雷电 3 的硬盘盒
哦对,还有我这套东西的价格

盒子:129 (蓝硕,USB3.1 10Gbps )
硬盘:719 (海康威视 C2000 1TB )

总计 848,还是能省不少哈哈

https://i.loli.net/2020/02/22/uTSo6wnfrUZj4Dd.png
2020-02-22 22:17:24 +08:00
回复了 NeezerGu 创建的主题 MacBook Pro 安利一下雷电 3 的硬盘盒
雷电硬盘盒还是贵,我选择 USB3.1 10G 硬盘盒 + NVME 盘,10G 日常用足够啦

https://i.loli.net/2020/02/22/IHQkp8tdlR4L1Yi.png
不要使用 『不能 xxx 』这种方式描述问题

建议使用类似 『我按照 xxx 方式配置了 xxx,但是在访问 xxx 的时候遇到了 xxx 错误 / xxx 状态,尝试了 xxx 方法来进行验证』的方式
2020-02-20 22:47:43 +08:00
回复了 care 创建的主题 NGINX 请教个 nginx 的伪静态和同时 http 重定向到 https 的 rewrite 规则写法
@care #6
rewrite .... permanent; 是 301 重定向 (永久重定向)
return 302 https://$host$request_uri; 是 302 重定向(临时重定向)

当然,return 也可以自选 301 / 302 / 303 / 307 / 308 .....
不同代码的含义详见: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections


对于搜索引擎收录方面来说:
一般认为 301 会导致搜索引擎把两个链接视为同一个,从而剔除旧链接导致收录减少。
但是这个主要针对多个不同域名下,你的场景是同域名不同协议,按道理来说不会涉及这个。
1 ... 165  166  167  168  169  170  171  172  173  174 ... 284  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1037 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 90ms · UTC 22:17 · PVG 06:17 · LAX 15:17 · JFK 18:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.