#text #blind #watermark #message #github #we-chat #demo

text-blind-watermark

Rust中的文本盲水印

6个版本

0.1.5 2024年1月30日
0.1.4 2024年1月29日

#97 in 视频

Download history 1/week @ 2024-05-27

每月79次下载
wm_add1中使用

MIT许可证

12KB
174

text-blind-watermark

Rust中的文本盲水印

将信息(盲水印)放入文本中。这样信息就不可见,并且文本的变化不可察觉。

stars fork

可用范围

  • 微信
  • 钉钉
  • 知乎
  • ...

使用方法

Cargo.toml

[dependencies]
text-blind-watermark = "*"

嵌入和提取

use text_blind_watermark::TextBlindWM;

fn test2() {
    let pwd = "这是一段密码. This is password";
    let wm = "不可见的暗水印. This is watermark";
    let text = "这是一段文本,之后这段文本将会被嵌入不可见盲水印";

    let text_blind_watermark = TextBlindWM::new(pwd);

    // embed
    let text_with_wm = text_blind_watermark.embed(text, wm);
    println!("text with watermark:{}", text_with_wm);

    // extract
    let wm_extract = text_blind_watermark.extract(text_with_wm.as_str());

    println!("watermark extracted:{}", String::from_utf8_lossy(wm_extract.as_slice()))
}

嵌入和提取.txt文件

fn test3() {
    let pwd = "这是一段密码. This is password";
    let wm = "不可见的暗水印. This is watermark";
    let ori_filename = "file.txt";
    let file_with_wm = "file_with_wm.txt";


    let text_blind_watermark = TextBlindWM::new(pwd);

    let text = std::fs::read_to_string(ori_filename).unwrap();

    // embed
    let text_with_wm = text_blind_watermark.embed(text.as_str(), wm);
    // write into file
    fs::write(file_with_wm, text_with_wm).unwrap();
    println!("text with watermark saved in file <{}>", file_with_wm);

    // read text and extract the watermark
    let text_with_wm = fs::read_to_string(file_with_wm).unwrap();

    // extract
    let wm_extract = text_blind_watermark.extract(text_with_wm.as_str());

    println!("watermark extracted:{}", String::from_utf8_lossy(wm_extract.as_slice()))
}

在IDE中显示不佳。请使用其他文本编辑器或文本查看器。

HideInfo:https://github.com/guofei9987/HideInfo

算法 说明
migrate tank 使图片在不同的背景下显示不同的图片
hide as image 把数据以图片形式存放
hide in image 把数据藏在一个图片中
image seed 把图片和文件黏在一起,并存为图片
EXIF 把一段信息放到图片的EXIF中
hide as music 把数据以音频的形式存放
hide in music 把数据隐藏在一个音频中
hide as text 把数据以文本文件的形式存放
hide in text 把数据隐藏在一段文本中

Python版本:https://github.com/guofei9987/text_blind_watermark

依赖

~315KB