17 个版本

0.3.6 2024年7月31日
0.3.4 2024年4月16日
0.3.2 2024年2月17日
0.2.8 2023年12月7日
0.2.7 2023年11月29日

#278密码学

Download history 8/week @ 2024-04-29 8/week @ 2024-05-06 12/week @ 2024-05-13 45/week @ 2024-05-20 3/week @ 2024-05-27 16/week @ 2024-06-03 16/week @ 2024-06-10 14/week @ 2024-06-17 25/week @ 2024-06-24 124/week @ 2024-07-01 33/week @ 2024-07-08 4/week @ 2024-07-15 9/week @ 2024-07-22 220/week @ 2024-07-29 14/week @ 2024-08-05 19/week @ 2024-08-12

262 每月下载量
用于 4 crates

Apache-2.0 OR MIT

53KB
901

abcrypt

CI Version MSRV Docs License

abcryptabcrypt 加密数据格式 的实现。

使用方法

将以下内容添加到您的 Cargo.toml

[dependencies]
abcrypt = "0.3.6"

示例

use abcrypt::Params;

let data = b"Hello, world!\n";
let passphrase = "passphrase";

// Encrypt `data` using `passphrase`.
let ciphertext = abcrypt::encrypt(data, passphrase).unwrap();
assert_ne!(ciphertext, data);

// And extract the Argon2 parameters from it.
let params = Params::new(&ciphertext).unwrap();
assert_eq!(params.memory_cost(), 19456);
assert_eq!(params.time_cost(), 2);
assert_eq!(params.parallelism(), 1);

// And decrypt it back.
let plaintext = abcrypt::decrypt(ciphertext, passphrase).unwrap();
assert_eq!(plaintext, data);

包特性

alloc

启用需要分配器的特性。默认启用(由 std 默认启用)。

std

启用依赖于标准库的特性。默认启用。

serde

启用 Params 的序列化支持。

no_std 支持

此模式支持 no_std。禁用默认特性以启用此特性。

注意,当禁用 alloc 特性时,Argon2 计算派生密钥时使用的内存块限制为 256 KiB。

文档

请参阅 文档 获取更多信息。

最低支持的 Rust 版本

此库的最低支持 Rust 版本 (MSRV) 为 v1.74.0。

更新日志

请参阅 更新日志

贡献

请参阅 贡献指南

许可

版权 © 2022–2024 Shun Sakai(见 AUTHORS.adoc

此库根据 Apache License 2.0MIT License 的条款分发。

本项目符合 REUSE Specification 版本 3.2。有关版权和许可信息的详细信息,请参阅各个文件的版权声明。

依赖

~2.3–3.5MB
~61K SLoC