9 个版本 (重大更新)
0.6.1 | 2023年4月13日 |
---|---|
0.5.1 | 2021年10月27日 |
0.5.0 | 2021年7月31日 |
0.4.0 | 2021年1月27日 |
0.1.0 | 2018年7月31日 |
#372 在 加密
24,332 每月下载量
在 27 个 仓库中使用 (直接使用 6 个)
61KB
1K SLoC
fpe
此库包含格式保持加密算法的纯Rust实现。
实现了以下算法
- FF1 (在 NIST 特别出版物 800-38G 中指定)。
此库需要 Rust 版本 1.56 或更高。
许可证
许可方式为以下之一
- Apache 许可证 2.0 版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中的任何贡献,均应按上述方式双许可,不附加任何额外条款或条件。
lib.rs
:
格式保持加密算法。
示例
extern crate aes;
extern crate fpe;
use aes::Aes256;
use fpe::ff1::{BinaryNumeralString, FF1};
let key = [0; 32];
let radix = 2;
let pt = [0xab, 0xcd, 0xef];
let ff = FF1::<Aes256>::new(&key, radix).unwrap();
let ct = ff.encrypt(&[], &BinaryNumeralString::from_bytes_le(&pt)).unwrap();
assert_eq!(ct.to_bytes_le(), [0x75, 0xfb, 0x62]);
let p2 = ff.decrypt(&[], &ct).unwrap();
assert_eq!(p2.to_bytes_le(), pt);
依赖项
~1MB
~20K SLoC