盲水印加密(信息隐藏技术)

HideInfo

安装

1
pip install HideInfo

藏文于图

藏入:

1
2
3
from hide_info import hide_in_img
text = "待转变为图片的文本,下面的代码中,会使把这段文本转化为比特类数据,然后隐藏到一个图片中"
hide_in_img.encode(text.encode('utf-8'), img_filename='1.png', img_filename_new='藏文于图.png')

解出:

1
2
3
from hide_info import hide_in_img
text_encode = hide_in_img.decode(img_filename='藏文于图.png')
print(text_encode.decode('utf-8'))

藏物于图

藏入:

1
2
from hide_info import hide_in_img
hide_in_img.file_encode(filename='要隐藏的文件.zip', img_filename='图片.png', img_filename_new='藏物于图.png')

解出:

1
2
from hide_info import hide_in_img
text_encode = hide_in_img.file_decode('藏物于图-解出的文件.zip', img_filename='藏物于图.png')

化物为图

说明

  • RGB 3个通道都用来存放数据
  • 使用前4个字节记录数据的大小,因此要求总的数据量小于 4G
  • 可以存放文件、文本、bytes 类数据,把它转化为一张图片
1
2
3
4
5
from hide_info import hide_as_img
# 文件转为图片并存下来
hide_as_img.file_encode(filename='要隐藏的文件.zip', img_filename='化物为图.png')
# 把图片再转回文件
hide_as_img.file_decode(filename='化物为图-解出来的文件.zip', img_filename='化物为图.png')

参考项目:guofei9987/HideInfo: Info Hiding Library,一些小而美的信息隐藏技术 (github.com)

BlindWaterMark

藏水印图于图

安装opencv

1
pip install opencv-python

安装matplotlib

1
python -m pip install matplotlib

脚本安装地址:
BlindWaterMark

python3环境:

合成盲水印图

1
python bwmforpy3.py encode hui.png wm.png hui_with_wm.png

提取图中的盲水印 (需要原图)

1
python bwm.py decode hui.png hui_with_wm.png wm_from_hui.png

参考项目:chishaxie/BlindWaterMark: 盲水印 by python (github.com)