禁止乱用:一款牛逼的去马赛克工具,已开源

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

每天 14:00 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:开源最前线(ID:OpenSourceTop)

fd96098f8fdccb483db8cce7e3dd04a9.jpeg


如果你认为将密码或其他私密文本数据像素化就能保护它们不被窥见,那你真是太天真了,你的信息并没有你想象的那么安全。像素化(也称为马赛克)是一种常用的手段,可以大幅降低图像敏感区域的分辨率来隐藏信息。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

8c955d3c53e65b80d3e7bb4a92ae4539.png

近年来马赛克这项技术被广泛使用,但它的好日子已经不多了,最近一个新型的人工智能工具“Depix”横空出世,短短时间就在Github上标星 18.4K

  • Github地址:https://github.com/beurtschipper

Depix的开发人员Sipke Mellema是一个信息安全顾问,他表示:“我见过一些公司把内部文件中的密码像素化,没有工具可以从这些图像中恢复密码,于是我创建了一个。”该工具适用于使用线性方框滤波器(linear box filter)创建的像素化图像。

Depix的使用

要准备一个用于Depix处理的像素化文本序列,首先以单个矩形格式从截图图像中剪切相关的像素化块,然后将带有预期字符的De Bruijn序列粘贴到具有相同字体(文本大小、字体、颜色等)编辑器中。接下来,对序列进行截图,最好使用之前的序列截图,尽可能使用和像素化图像相同的截图工具。

最后,简单地运行

python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png

恢复之后的效果和原图的对比结果:

92cdca2e6f278b666b6a53cf31fa5301.png

但是,项目作者没有选择创建潜在字体的查找表,只是简单使用待处理字符的德布鲁因序列,将其粘贴到相同的编辑器中,然后截图。该截图可以用作相似 block 的查找图像,例如:

2210557445b336da3c83a343ef75b7b1.png

德布鲁因序列包括待处理字符的所有双字符组合。在以下测试图像中,Depix算法无法找到(o)的一部分。这是因为在搜索图像中,搜索block还包含下一个字母(「d」)的一部分,但在原始图像中这里有个空格。

e817ecac995b65364eb25c2dbced289c.png

不过对于大多数像素化的图像,Depix都可以找个单个的匹配结果,它假定这些都是正确的。然后将周围的多个匹配块匹配,然后再与马赛克图像相同的几何距离进行比较。这些匹配也被认为是正确的。

当正确的块没有更多的几何匹配后,它将直接输出所有正确的块。对于多匹配块,它输出所有匹配的平均值。它的输出还远远不够完美,但它的性能相当好。下图显示了一个带有随机字符的测试图像,大多数字符都可以正确破解出来。

63fbbda2c62d4d6fb11f195892a761ff.png

Sipke Mellema还表示Depix技术类似于哈希破解,利用ECB的使用和已知明文攻击的使用。他建议人们对于敏感数据还是尽量不要用Depix。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

5351699c1fe09a1b1692af99a429e12a.png

已在知识星球更新源码解析如下:

6ac7aefe2727627b37f948f9ea3f4fc0.jpeg

56dc266bd03f0fe63c0da2e81e280a73.jpeg

ccaaf746e3974ec1eb652bb32ecd2cf8.jpeg

8f9341b4c97af59507b822dbe614b478.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值