⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 编程技术宇宙 「轩辕之风」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

不知道大家有没有经常用公司的电脑截图然后传播出去,如果只是普通内容倒还好,但如果涉及到公司的一些敏感内容,或者包含什么对公司不利的内容,那大家可要当心了,小心公司通过截图可以追溯到你!

什么?一张截图还能追溯到你?

没错,因为你截的图里面,很有可能掺了东西进去!

最近逛知乎偶然看到一个几年前轰动一时的话题:阿里月饼事件。

有一个提问挺有意思的:

通过图片水印溯源,早已不是什么新鲜的技术了。

实际上,国内的大厂,像是百度、奇安信、360等基本上都会采用类似的技术,在公司的聊天软件、内部网站、甚至计算机屏幕整个加水印。

这些水印有些是看得到的,有些则是完全看不到的。那些看得到的水印至少还有一些震慑作用,而那些看不到的水印才是暗藏杀机!

看不到的水印是怎么做到的?在知乎里,我看到了一个网友的开源项目,帮助大家了解一下这玩意儿。

开源项目:blind-watermark

基于频域的数字盲水印。

GitHub地址: https://github.com/guofei9987/blind_watermark

Python 中使用

嵌入水印

from blind_watermark import WaterMark

bwm1 = WaterMark(password_img=1, password_wm=1)
bwm1.read_img('pic/ori_img.jpg')
wm = '@guofei9987 开源万岁!'
bwm1.read_wm(wm, mode='str')
bwm1.embed('output/embedded.png')
len_wm = len(bwm1.wm_bit)
print('Put down the length of wm_bit {len_wm}'.format(len_wm=len_wm))

提取水印

bwm1 = WaterMark(password_img=1, password_wm=1)
wm_extract = bwm1.extract('output/embedded.png', wm_shape=len_wm, mode='str')
print(wm_extract)

这是原图:

这是打了水印后的图:

你能看出区别吗?

这水印不仅肉眼看不出,而且抗攻击能力还超强,来看看:

看起来还不错的样子,常见的场景都能Hold得住!

现在稍微大一点的公司电脑里,IT部门在发给你电脑之前,都提前安装了EDR类的产品,屏幕截图都是必备的功能。而且你还不能把它给关闭,一旦关闭电脑就无法正常使用,更严重的,信息安全部门可能还会找你谈话。

所以大家在用公司电脑截图的时候一定要当心点,不要泄露敏感内容了,不要一不小心把饭碗搞没了。

知乎有人问:阁下的水印技术确实厉害,但倘若我用手机拍摄屏幕之法,阁下又如何应对呢?

大家觉得这种方式能抗住水印吗?一起来说说看。

文章目录
  1. 1. Python 中使用