- 在线体验网址 http://120.27.143.171:19191/ 由于云服务器配置有限,可能会一定卡顿
- 由于当前隐写算法决定,隐写后的载体如果被压缩或修改,则无法提取被隐写信息
- 图像文件隐写
- LSB隐写
- gradio服务中消息隐写与提取
- 隐写算法批量写入
- 隐写算法批量读取
- gradio服务中文件隐写与提取
- 更多的隐写算法支持
- 更多的隐写载体支持
pip install -r requirements.txt
python service_gradio.py
# 隐写信息
import cv2
import os
from gstego import Steganography
# 初始化隐写器
stego_opt = Steganography()
# 读取载体信息
carrier_path = r"**.png"
image_file = cv2.imread(carrier_path)
# 设置隐写消息
hide_info = "我好像曾经见过你"
# 隐写
carrier_data = stego_opt.hide_message(image_file, hide_info)
# 保存隐写的载体
cv2.imwrite("output.png", carrier_data)
# 读取载体
img_in = cv2.imread(r"output.png")
# 提取隐写信息
extract_info = stego_opt.extract(img_in)
# 展示隐写消息
print(extract_info["message"])
# 隐写文件
import cv2
import os
from gstego import Steganography
# 初始化隐写器
stego_opt = Steganography()
# 读取载体信息
carrier_path = r"**.png"
image_file = cv2.imread(carrier_path)
# 读取隐写文件
hide_file_path = r"**.txt"
hide_buffer = open(hide_file_path, "rb")
# 隐写
carrier_data = stego_opt.hide_file(image_file, hide_buffer)
cv2.imwrite("output.png", carrier_data)
# 读取载体
img_in = cv2.imread(r"output.png")
extract_info = stego_opt.extract(img_in)
# 保存提取出的文件
with open("out." + extract_info["file"]["suffix"], "wb") as fw:
fw.write(extract_info["file"]["bytes_data"])