数据百变系列——用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 复制代码
提取内容:我是一个冷笑话

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

相关推荐
开开心心就好几秒前
这款PPT计时工具支持远程控制功能
前端·科技·游戏·edge·pdf·全文检索·powerpoint
BangD几秒前
前端elementUI el-form个别字段增加校验
前端·vue.js·elementui
码云数智-园园1 分钟前
告别Flash:HTML5音视频播放器实战指南
前端·音视频·html5
2401_883600253 分钟前
Golang bufio怎么读取用户输入_Golang标准输入读取教程【详解】
jvm·数据库·python
Allen_LVyingbo3 分钟前
机器伦理层级跃迁的逻辑结构、哲学意涵与形式化建模(上)
开发语言·人工智能·python·数学建模·量子计算
pele4 分钟前
Python Flask如何实现用户登录_基于JWT令牌的身份验证机制实现
jvm·数据库·python
hpoenixf4 分钟前
年轻人的第一个复杂 skill:我把 AI Skill 重做了三次
前端·人工智能
m0_493934535 分钟前
HTML怎么显示网络中断恢复提示_HTML“重新连接中…”文本【操作】
jvm·数据库·python
Absurd5871 小时前
JavaScript中模块化在游戏引擎开发中的资源调度作用
jvm·数据库·python
web守墓人2 小时前
【linux】Mubuntu v1.0.11更新日志
linux·前端