5 个版本
0.2.2 | 2020年1月31日 |
---|---|
0.2.1 | 2020年1月24日 |
0.2.0 | 2020年1月23日 |
0.1.1 | 2020年1月23日 |
0.1.0 | 2020年1月23日 |
在 #exposing 中排名第 12
每月下载量 34 次
19KB
380 代码行
Simple AES256-GCM
警告! 这是 v0.* 版本!预期会有各种错误和问题。强烈鼓励提交 pull 请求和问题!
此库基于 aes-gcm
crate 构建,提供了一个易于使用的 aes256-gcm 加密 API,(处理 base64 编码/解码,iv 生成...).
示例
请在 /examples 文件夹中查找示例。
use simple_aes256_gcm;
use std::convert::TryFrom;
fn main() {
let lorem_ipsum = simple_aes256_gcm::Decrypted::from(
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sodales diam sagittis, dignissim est at, vehicula mi. Sed placerat sollicitudin sollicitudin. Donec et cursus sapien. Morbi bibendum, dui non fringilla mattis, nisi libero iaculis lectus, eget tincidunt est dui eu lorem. Praesent vitae enim nec sapien maximus porttitor non in risus. Maecenas nec accumsan sapien. Quisque placerat tempus mauris, nec vulputate mauris porttitor sed. Vivamus eu finibus elit. Suspendisse potenti. Quisque sagittis nibh non eros facilisis semper. Sed sit amet dictum orci. Vestibulum eget mi quis magna euismod dignissim. Aliquam erat volutpat. Quisque id magna non neque mattis mattis sit amet in arcu. Duis sagittis, tortor non imperdiet interdum, arcu tellus imperdiet elit, ac porttitor libero ipsum ac arcu. Sed convallis massa vel hendrerit vulputate."
);
let key = simple_aes256_gcm::Key::try_from(
"MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDE="
).unwrap();
let encrypted_value_and_iv = simple_aes256_gcm::encrypt(&key, &lorem_ipsum).unwrap();
println!("PLAIN TEXT: {}\n", lorem_ipsum);
println!("IV: {}\n", encrypted_value_and_iv.iv);
println!("ENCRYPTED: {}\n", encrypted_value_and_iv.encrypted);
let plaintext = simple_aes256_gcm::decrypt(&key, encrypted_value_and_iv).unwrap();
println!("DECRYPTED: {}\n", plaintext);
}
许可证
此 crate 使用 MIT 许可证。
依赖
~3.5MB
~60K SLoC