数据百变系列——用Python盲水印保护自己写的文章

本文是数据百变系列的第一篇,后续还将有以下文章,关注获取更多动态+

  • 使图片在不同的背景下显示不同的图片
  • 把数据以图片形式存放
  • 把数据藏在一个图片中
  • 把图片和文件黏在一起,并存为图片
  • 把一段信息放到图片的EXIF中
  • 把数据以音频的形式存放
  • 把数据隐藏在一个音频中
  • 把数据以文本文件的形式存放
  • 把数据隐藏在一段文本中

背景

身为程序员, 一定看过或者写过技术文章,国内体量最大的技术论坛莫属某四字网站了,但是这网站有个弊病,抄袭横行,甚至会出现抄袭&洗稿的文章比原文权重都高,估计在座的都深受其害,这时候给自己的文章加个盲水印就十分必要了,并且盲水印还有以下用途:

  1. 保护版权:在数字化时代,文本可以很容易地被复制、传播和篡改,盲水印可以帮助作者或出版商在文本中嵌入不可见的标识,以证明其版权。
  2. 内容追踪:在大规模的信息传播中,盲水印可以用于追踪信息的传播路径和使用情况,从而提供有关信息的分析和监控。
  3. 防伪验证:盲水印可以用于验证文本的真实性和完整性,防止信息被篡改或伪造。
  4. 数据溯源:盲水印可以用于追溯数据的来源和使用情况,对于研究、法律调查等领域具有重要意义。

以后投诉盗版又多了一个证据

样例

以下是一篇刚出炉的冷笑话:

text 复制代码
当程序员走进酒吧,服务员问道:"你们这里有没有Wi-Fi?" 
程序员回答:"不,我们这里使用Ethernet。" 
服务员一脸茫然地说:"那又是什么?" 
程序员笑着解释道:"就是一根看起来像面条的东西,用来连接网络。" 
服务员忍不住笑了起来,说:"难怪我总觉得饭菜来得这么快!原来都是靠一根面条传输的!"

如果不加水印,很容易被盗版,可以使用以下代码添加盲水印:

python 复制代码
from text_blind_watermark import TextBlindWatermark2

password = '炼数成金'
text = '''当程序员走进酒吧,服务员问道:"你们这里有没有Wi-Fi?" 
程序员回答:"不,我们这里使用Ethernet。" 
服务员一脸茫然地说:"那又是什么?" 
程序员笑着解释道:"就是一根看起来像面条的东西,用来连接网络。" 
服务员忍不住笑了起来,说:"难怪我总觉得饭菜来得这么快!原来都是靠一根面条传输的!"'''
watermark = '我是一个冷笑话'
text_blind_wm = TextBlindWatermark2(password=password)
text_with_wm = text_blind_wm.embed(text=text, watermark=watermark)
print(text_with_wm)

输出结果

text 复制代码
当程序员走进酒吧,服务员问道:"你们这里有没有Wi-Fi?" 
程序员回答:"不,我们这里使用Ethernet。" 
服务员一脸茫然地说:"那又是什么?" 
程序员笑着解释道:"就是一根看起来像面条的东西,用来连接网络。" 
服务员忍不住笑了起来,说:"难怪我总觉得饭菜来得这么快!原来都是靠一根面条传输的!"

看起来是不是和最开始的没有差别,毕竟盲水印,如果看到了那就是普通水印了 但是当你用以下代码处理时,就能输出加进去的水印了

python 复制代码
text_blind_wm_new = TextBlindWatermarkThin(password=password)
wm_extract = text_blind_wm_new.extract(text_embed)
print('提取内容:', wm_extract)

输出内容

text 复制代码
提取内容:我是一个冷笑话

目前这个方法,就算经过复制粘贴,或者微信等通讯软件发送,也能保证盲水印一直在,针对简单的文本数据防盗版还是有一定的保护效果

相关推荐
张3蜂35 分钟前
Gunicorn深度解析:Python WSGI服务器的王者
服务器·python·gunicorn
harrain37 分钟前
什么!vue3.4开始,v-model不能用在prop上
前端·javascript·vue.js
fanruitian6 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
rayufo6 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk6 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
Python 老手7 小时前
Python while 循环 极简核心讲解
java·python·算法
2501_944525548 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
开源技术8 小时前
如何将本地LLM模型与Ollama和Python集成
开发语言·python
weixin_437044648 小时前
Netbox批量添加设备——堆叠设备
linux·网络·python
我有医保我先冲8 小时前
AI 时代 “任务完成“ 与 “专业能力“ 的区分:理论基础、行业影响与个人发展策略
人工智能·python·机器学习