如何对图片加密使其避免被网盘屏蔽

2022-05-14 10:20:39 +08:00
 AloneHero

先说需求,我想把图片传到网盘上,再在自己的页面上通过请求网盘 api 来浏览图片,这里面会有解密图片数据的机会。

现在问题在于,我怎么样能最简单的加密图片来保证不会被网盘屏蔽?

现在初步的想法是对图片数据每一位异或 1 处理,只是不知道这种简单的处理方式 AI 能不能检测出来,希望有了解这方面的大佬指点一下。

另外大家有没有什么简单高性能又可靠的图片加密方案呢?

6864 次点击
所在节点    程序员
44 条回复
XiLingHost
2022-05-14 10:21:26 +08:00
base64 内容,改后缀
AloneHero
2022-05-14 10:24:53 +08:00
@XiLingHost base64 不行,体积整体要膨胀 1/3 ,而且浏览器解码后体积膨胀更大,遇到大图估计会卡
XiLingHost
2022-05-14 10:32:21 +08:00
@AloneHero 那试试 AES ,现在有硬件加速 AES 的速度已经不错了
webshe11
2022-05-14 10:35:34 +08:00
异或起码搞个密钥,循环异或
lishoujun
2022-05-14 10:58:19 +08:00
我看刑。
带密码压缩一下呢?让客户端解压一下。
okakuyang
2022-05-14 11:11:41 +08:00
转 avif 或许就行了
XiLingHost
2022-05-14 11:15:24 +08:00
其实我建议使用 base64 的一个考虑是,前端本身是支持直接使用 base64 作为图片的 blob 内容的,这样需要的额外处理是最少的
privapps
2022-05-14 11:19:44 +08:00
https://en.wikipedia.org/wiki/Steganography
https://xcode.darkbyte.ru/
<amp-youtube data-videoid="iUNUjqSXWj0" layout="responsive" width="480" height="270"></amp-youtube>&ab_channel=HackerSploit
vvhhaaattt
2022-05-14 11:24:51 +08:00
encfs
vvhhaaattt
2022-05-14 11:25:58 +08:00
@vvhhaaattt 没注意到是要网页用的
zengxs
2022-05-14 12:10:04 +08:00
最不折腾的方案:换个图床,别用网盘
porrat
2022-05-14 12:16:42 +08:00
简单的 XOR 就行,用 AES 也行,现代处理器都支持硬件 AES 速度非常快
phpfpm
2022-05-14 12:24:29 +08:00
我觉得你这个是伪需求

网盘就不是给前端用的,你用,就是盗图

你偷就偷吧,还让别人不知道你存了什么

太鸡贼了
Laforet
2022-05-14 12:25:47 +08:00
Base64
Laforet
2022-05-14 12:27:35 +08:00
Base64 再用固定密钥 XOR 最简单,传输过程中有 gzip 的话文件大小其实不会增加多少,客户端开销是绕不开的。如果对性能要求很高那可以自己写一个 decoder 然后把解压放在 js 层面完成,但是感觉有点本末倒置。
Tanix2
2022-05-14 12:50:00 +08:00
放到压缩包里加个密码行吗
nicevar
2022-05-14 12:52:38 +08:00
一个很简单的办法,就是读取前面一部分字节进行简单加密,然后把信息写入尾部,解密的时候再读取出来补上就行了,视频和图片我都这样做过
XiLingHost
2022-05-14 12:56:16 +08:00
我的建议是就保存成纯文本的 base64 ,前端不要做任何计算,把它填充到<img src="data:image/png;base64, {base64_data} />里面让浏览器帮你展示
kirory
2022-05-14 13:59:19 +08:00
用一个序列对每一位异或。
可以简单的使用 0-255 ,还能更改起始的 seed 。
虽然容易破解,但用在这里足够了
PeterD
2022-05-14 14:09:48 +08:00
用 BaiduPCS-Py 或 AliPCS-Py ,自动加密上传,再开一个 http server ,自动给你解密。

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

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

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

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

© 2021 V2EX