Git Product home page Git Product logo

weibo-img-crypto's Introduction

weibo-img-crypto

自动加密解密微博上传的图片

如何使用

方法 1,适合临时使用

在浏览器地址栏输入以下代码,上传图片时就会自动加密,在图片上点击鼠标右键就会自动解密。注意前面的 "javascript:" 必须手动输入,不能复制粘贴,否则会被浏览器自动去掉。执行成功后,点击左下角的北极熊 (天哥哥) 按钮可以打开设置界面

javascript:fetch('https://raw.githubusercontent.com/xfgryujk/weibo-img-crypto/master/weibo-img-crypto.js').then(res => res.text(), e => alert('载入失败:' + e)).then(res => {let script = document.createElement('script'); script.innerHTML = res; document.body.appendChild(script)})

也可以按 Ctrl + Shift + J 打开控制台,在控制台输入。也可以将这些代码作为网址添加到书签/收藏夹,能更快使用

方法 2,适合长期使用

首先安装 Tampermonkey 浏览器扩展,然后去 Greasy Fork 添加 weibo-img-crypto 脚本。这样访问微博时会自动执行方法 1 的代码

算法说明

加密的原理是把像素块或 RGB 数据随机移动到一个新位置,所以加密解密时的随机种子必须一样。默认的随机种子是 114514,可以在设置界面修改随机种子

推荐使用块随机置乱算法,这样不会出现有损压缩再解密造成的高频噪声。RGB随机置乱算法会出现有损压缩再解密造成的高频噪声。至于反色算法只是作者平时用来看某些博主的色图用的,不算加密

兼容性

目前不支持 GIF 图,以后可能支持

只在 Chrome、Edge 浏览器测试过,不保证支持其他浏览器 (IE 是什么?我可不知道)

效果

加密后:

加密后

解密后:

解密后

原图:

原图

FA♂Q

为什么不支持手机端?

目前实在没有找到支持手机端的简单方法,如果有可以告诉我

为什么不自己租个服务器放图片?

你出钱我就租

为什么不用傅里叶变换?

因为图片的灰度范围只有 256 个数,而傅里叶变换后的值域非常大,无法表示,更不用说 JPEG 压缩后的损失了

为什么不用异或?

初版用的就是异或的方法,但是经过 JPEG 压缩后再解密出现了严重的噪点,而且异或后的图片还是能看出轮廓,无法防止被二五仔举报

为什么不用 AES、RSA 等加密?

同上,我觉得保留原始像素数据能尽量减少数据损失,而且加密是怎么乱怎么来,最好不要留原图的轮廓以免被二五仔举报

默认随机种子 114514 是什么意思?

作者的恶趣味,自行百度

weibo-img-crypto's People

Contributors

xfgryujk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

weibo-img-crypto's Issues

关于解决jpg压缩噪点问题

在JPG上做的所有操作都是基于8x8像素块
如果不是按照像素打乱 而是按照8x8的像素块打乱
是否可以解决噪点问题

jpg压缩没有深入了解 这个方法可能并没有效果

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.