#secret-management #secret #memory #secure #clear #wipe

无std secrecy

为保密管理提供包装类型和特质,以确保它们不会被意外复制、记录或以其他方式暴露(尽可能),并在它们被丢弃时确保从内存中安全擦除秘密。

16 个版本 (9 个破坏性更新)

0.9.0-pre.02024年7月30日
0.8.0 2021年7月18日
0.7.0 2020年7月8日
0.6.0 2019年12月12日
0.0.0 2018年10月4日

#28加密

Download history 212867/week @ 2024-05-04 250724/week @ 2024-05-11 260987/week @ 2024-05-18 240622/week @ 2024-05-25 245419/week @ 2024-06-01 254883/week @ 2024-06-08 246262/week @ 2024-06-15 255477/week @ 2024-06-22 240507/week @ 2024-06-29 290399/week @ 2024-07-06 270955/week @ 2024-07-13 302487/week @ 2024-07-20 299601/week @ 2024-07-27 329704/week @ 2024-08-03 414875/week @ 2024-08-10 359943/week @ 2024-08-17

1,454,614 每月下载量
1,685 个crate中使用 (216 个直接使用)

Apache-2.0 OR MIT

14KB
130

secrecy.rs 🤐 iqlusion

Crate Docs Apache 2.0/MIT Licensed MSRV Safety Dance Build Status

Rust 的一个简单保密库。

文档

关于

secrecy 是一个 简单、安全的(即 forbid(unsafe_code))库,它提供了 Rust 中保密管理的包装类型和特质,即用于包装另一个值的 Secret<T> 类型,该类型尝试限制暴露(仅通过特殊的 ExposeSecret 特质可用)。

这有助于确保秘密不会意外地被复制、记录或以其他方式暴露(尽可能),并确保秘密在丢弃时从内存中安全擦除。

最低支持的 Rust 版本

Rust 1.60 或更高版本。

将来,我们保留更改 MSRV 的权利(即 MSRV 不在此 crate 的 SemVer 保证范围内),但是当这样做时,将伴随着次要版本的提升。

serde 支持

可选的 serde 支持用于解析拥有的秘密值,在 serde cargo 功能下受控。

它使用 DeserializeDeserializeOwned 特质来实现反序列化秘密类型,这些类型也实现了这些特质。

这并不能保证 serde(或提供给 serde 输入的代码)不会意外地复制秘密,但它会尽最大努力,并尽可能最大限度地降低暴露风险。

许可证

版权所有 © 2019-2023 iqlusion

secrecy 采用 MIT 许可证或 Apache 许可证(版本 2.0)的条款进行分发,您可选择其一。

请参阅此存储库顶层目录中的 iqlusioninc/crates 下的 LICENSE(Apache 许可证,版本 2.0)文件或LICENSE-MIT以获取详细信息。

贡献

除非您明确说明,否则您有意提交的任何旨在包含在作品中的贡献都将根据上述条款进行双重许可,无需任何额外条款或条件。

依赖

~200KB