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加密

Download history 7741/week @ 2024-03-14 7066/week @ 2024-03-21 5042/week @ 2024-03-28 6487/week @ 2024-04-04 7810/week @ 2024-04-11 7791/week @ 2024-04-18 7534/week @ 2024-04-25 8397/week @ 2024-05-02 8681/week @ 2024-05-09 10402/week @ 2024-05-16 11228/week @ 2024-05-23 10220/week @ 2024-05-30 6850/week @ 2024-06-06 6488/week @ 2024-06-13 5632/week @ 2024-06-20 4291/week @ 2024-06-27

24,332 每月下载量
27 仓库中使用 (直接使用 6 个)

MIT/Apache

61KB
1K SLoC

fpe Crates.io

此库包含格式保持加密算法的纯Rust实现。

实现了以下算法

此库需要 Rust 版本 1.56 或更高。

许可证

许可方式为以下之一

由您选择。

贡献

除非您明确声明,否则根据 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