#text-image #image #steganography

hips-lib

一种在图像中隐藏和提取文本秘密的库

2 个不稳定版本

0.2.0 2023年3月12日
0.1.0 2023年2月19日

#940 in 加密学

MIT 许可证

395KB
489

hips-lib

GitHub Workflow Status Crates.io Crates.io

通过在图像或像素数组中隐藏和检索秘密文本来实现文本到图像的隐写术。这是通过将秘密编码在图像中 R、G、B 值的最不重要位上实现的。

用法

在您的 Cargo.toml 中包含 hips-lib

hips-lib = "0.2.0"

在像素向量中隐藏一个秘密

use hips_lib::{color::Color, hips::{hide_secret_col, find_secret_col}};

fn main() {
    // Create a vector of four hundred pixels.
    let mut pixels = vec![Color::new(); 400];
    let password = String::from("password");

    // Your secret text
    let secret = String::from("Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua.");

    // Hide the secret in the pixel vector.
    hide_secret_col(&mut pixels, &secret, Some(password.to_owned())).unwrap();

    // Try to read the secret back from the pixel vector.
    let result = find_secret_col(&pixels, Some(password));
}

图像

在您的 Cargo.toml 中包含 image 功能。

hips-lib = { version = "0.2.0", features = ["image"]}
use hips_lib::hips::{find_secret_img, hide_secret_img};

fn main() {
    let secret = String::from("Lorem ipsum");
    let password = String::from("password");

    // Hide secret in target image
    let result_img = hide_secret_img("test_images/peppers.png", &secret, Some(password));

    // Find secret in another image
    let password = String::from("password");
    let result = find_secret_img("test_images/image_with_secret_password.png", Some(password)).unwrap();
}

依赖项

~0–2.8MB
~11K SLoC