盲水印加密(信息隐藏技术)
HideInfo
安装
pip install HideInfo
藏文于图
藏入:
from hide_info import hide_in_img
text = "待转变为图片的文本,下面的代码中,会使把这段文本转化为比特类数据,然后隐藏到一个图片中"
hide_in_img.encode(text.encode('utf-8'), img_filename='1.png', img_filename_new='藏文于图.png')
解出:
from hide_info import hide_in_img
text_encode = hide_in_img.decode(img_filename='藏文于图.png')
print(text_encode.decode('utf-8'))
藏物于图
藏入:
from hide_info import hide_in_img
hide_in_img.file_encode(filename='要隐藏的文件.zip', img_filename='图片.png', img_filename_new='藏物于图.png')
解出:
from hide_info import hide_in_img
text_encode = hide_in_img.file_decode('藏物于图-解出的文件.zip', img_filename='藏物于图.png')
化物为图
说明
- RGB 3个通道都用来存放数据
- 使用前4个字节记录数据的大小,因此要求总的数据量小于 4G
- 可以存放文件、文本、bytes 类数据,把它转化为一张图片
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
pip install opencv-python
安装matplotlib
python -m pip install matplotlib
脚本安装地址:
BlindWaterMark
python3环境:
合成盲水印图
python bwmforpy3.py encode hui.png wm.png hui_with_wm.png
提取图中的盲水印 (需要原图)
python bwm.py decode hui.png hui_with_wm.png wm_from_hui.png