#nonce #encryption #symmetric #advanced #anything #randomly #simplest

simplestcrypt

使用预共享密钥进行对称加密的最简单方式。围绕 aes-siv crate 的非常小的包装器,带有随机生成的非确定数,对于更高级的应用,请使用 aes-siv

5 个版本

0.1.4 2024年8月21日
0.1.3 2022年3月24日
0.1.2 2020年11月19日
0.1.1 2020年11月18日
0.1.0 2020年11月18日

#1596加密学

Download history 7/week @ 2024-04-24 3/week @ 2024-05-08 13/week @ 2024-05-15 21/week @ 2024-05-22 7/week @ 2024-05-29 7/week @ 2024-07-17 43/week @ 2024-07-24 17/week @ 2024-07-31 1/week @ 2024-08-07

每月 68 次下载

MIT 许可证

8KB
77

simplestcrypt

使用预共享密钥进行对称加密的最简单方式。围绕 aes-siv crate 的非常小的包装器,带有随机生成的非确定数,对于更高级的应用,请使用 aes-siv

示例

use std::str;
fn main() {
    let payload = "Hello world!".as_bytes();
    let password = b"hello wooooooooo";

    let encrypted = simplestcrypt::encrypt_and_serialize(&password[..], &payload).unwrap();
    let plain = simplestcrypt::deserialize_and_decrypt(&password[..], &encrypted).unwrap();

    println!("{:?}", str::from_utf8(&plain));
}

序列化说明

Bincode 在序列化的非确定数和序列化的密文之间添加了 8 个字节,因此看起来像

字节 描述
0 - 15 加密密文时使用的非确定数
16 - 23 密文的长度
24 - .. 密文

在与其他库互操作时需要考虑这一点

依赖项

~1.6–2.3MB
~50K SLoC