2 个不稳定版本
0.2.0 | 2023年3月12日 |
---|---|
0.1.0 | 2023年2月19日 |
#940 in 加密学
395KB
489 行
hips-lib
通过在图像或像素数组中隐藏和检索秘密文本来实现文本到图像的隐写术。这是通过将秘密编码在图像中 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