6个版本
0.0.6 | 2024年2月5日 |
---|---|
0.0.5 | 2024年2月4日 |
#700 in 图像
13KB
128 代码行
Pyxelium
[!警告]
目前,由于编码算法的变化,较新版本可能与旧版本不兼容!
Pyxelium是一个轻量级的基于像素的加密库,允许您在PNG图像中编码和解码消息。
为什么?我不知道,但如果您有使用此项目的良好理由,请告诉我!
特性
- 将文本消息编码到图像中。
- 从图像中解码隐藏的消息。
用法
编码消息
要使用Pyxelium将消息编码到图像中,请使用以下Rust函数
use image::{Rgba, RgbaImage};
use pyxelium::string_to_pixels;
fn main() {
let message = "Your message goes here";
let pixel_size = 5;
let base_color = Rgba([128, 128, 128, 255]);
let encoded_image: RgbaImage = string_to_pixels(message, pixel_size, base_color);
// Save the image into a file
encoded_image.save("encoded_image.png").unwrap();
}
此函数将您的消息编码到RgbaImage对象中。
解码消息
要使用Pyxelium从图像中解码消息,请使用以下Rust函数
use image::{io::Reader as ImageReader, Rgba};
use pyxelium::decode_pixels_to_string;
fn main() {
let image_path = "encoded_image.png";
let pixel_size = 5;
let base_color = Rgba([128, 128, 128, 255]);
let encoded_image = ImageReader::open(image_path).unwrap().decode().unwrap().to_rgba8();
let decoded_message_result = decode_pixels_to_string(&encoded_image, pixel_size, base_color);
match decoded_message_result {
Ok(decoded_message) => {
println!("Decoded Message: {}", decoded_message);
}
Err(err) => {
eprintln!("Error decoding message: {}", err);
}
}
}
将 "image.png" 替换为您想要解码的图像的路径。解码后的消息将作为Result
入门
- 将Pyxelium添加到您的Cargo.toml依赖项中
[dependencies]
pyxelium = "0.0.6"
- 导入必要的模块,并如上使用示例所示使用函数。
贡献
欢迎对Pyxelium的贡献!请随意打开问题或提交拉取请求。
许可协议
此项目是开源的,可在MIT许可协议下使用。您可以自由使用、修改和分发此软件。
依赖关系
~5MB
~65K SLoC