#top #built #aes-gcm #exposing #encryption #api #aes256-gcm

simple-aes256-gcm

此库基于 aes-gcm crate 构建,提供了一个易于使用的 aes256-gcm 加密 API

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

MIT 许可证

19KB
380 代码行

Simple AES256-GCM

Build Status codecov

警告! 这是 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