8 个版本
0.2.5 | 2023 年 3 月 14 日 |
---|---|
0.2.4 | 2022 年 3 月 25 日 |
0.2.3 | 2022 年 1 月 3 日 |
0.2.1 | 2021 年 10 月 8 日 |
0.1.0 | 2021 年 1 月 21 日 |
1597 在 密码学 中
137 每月下载次数
用于 2 crates
240KB
4K SLoC
Tink-Rust: 带附加数据的确定性认证加密
此crate提供如上游Tink 文档中描述的带附加数据的确定性认证加密(DAEAD)功能。
使用方法
fn main() -> Result<(), Box<dyn Error>> {
tink_daead::init();
let kh = tink_core::keyset::Handle::new(&tink_daead::aes_siv_key_template())?;
let d = tink_daead::new(&kh)?;
let pt = b"this data needs to be encrypted";
let ad = b"additional data";
let ct1 = d.encrypt_deterministically(pt, ad)?;
println!("'{}' => {}", String::from_utf8_lossy(pt), hex::encode(&ct1));
let ct2 = d.encrypt_deterministically(pt, ad)?;
assert_eq!(ct1, ct2, "cipher texts are not equal");
println!("Cipher texts are equal.");
let pt2 = d.decrypt_deterministically(&ct1, ad)?;
assert_eq!(&pt[..], pt2);
Ok(())
}
许可
免责声明
这不是一个官方支持的 Google 产品。
依赖项
~3–5.5MB
~97K SLoC