#base64 #sorting #alphabet #codec #key #deterministic #secret

bin+lib base64-secret

具有自定义字母表的 Base64 编码/解码器。字母表按给定键排序。排序始终是确定的。

2 个版本

0.1.1 2023 年 2 月 17 日
0.1.0 2023 年 2 月 17 日

#2161 in 编码

MIT 许可证

7KB
77

Base64 Secret

这是一个 Rust 包,提供了对 Base64 编码算法的扩展。它允许根据给定的键重新排列字母表,使得在不了解用于编码的相同键的情况下解码数据更加困难。

这个包绝对不是密码学安全的,它被设计为快速且与较慢的脚本语言兼容。不要依赖它来加密任何敏感数据,它被设计为用作简单的混淆方法。

安装

要使用此包,请将以下行添加到您的 Cargo.toml 文件中

cargo add base64-secret

用法

为了优化使用,避免重复计算字母表中每个字符的位置,这个位置在结构体创建时计算。

use base64_secret::Base64;

let engine = Base64::new(b"my secret key");
let data = b"This is a secret message";

let encoded_data = engine.encode(&data);

println!("{}", encoded_data); // prints "v-O0BPA0BPAOhl1yZm9yJQAuRz1XZ7Jy"

解码也很简单

use base64_secret::Base64;

let engine = Base64::new(b"my secret key");

let encoded_data = "jPF_7wA_7wAFLXlCbaHCzQAS3flubnzC";
let data = engine.decode(&encoded_data).unwrap();

println!("{}", String::from_utf8_lossy(&data)); // prints "This is a secret message"

贡献

欢迎贡献!如果您发现错误或有一个功能请求,请在该 GitHub 仓库上打开一个问题。如果您想贡献代码,请打开一个 pull request。

许可证

此包根据 MIT 许可证授权。有关更多信息,请参阅 LICENSE 文件。

依赖关系

~305KB