17个稳定版本
1.8.1 | 2024年5月25日 |
---|---|
1.7.0 | 2023年11月16日 |
1.6.0 | 2023年3月26日 |
1.5.7 | 2022年7月20日 |
0.4.2 |
|
#695 in 操作系统
6,918,395 每月下载量
在 13,098 个crate中使用 (861个直接使用)
36KB
456 行
RustCrypto: zeroize
在避免编译器优化的同时,安全地清空内存(即零化)。
该crate实现了一种可移植的方法来安全地清空内存,使用的技术可以确保它们不会被编译器"优化掉"。
Zeroize
特性是该crate的主要API。
关于
安全地清空内存是困难的 - 编译器优化性能,在这个过程中,它们喜欢"优化掉"不必要的清零调用。有许多记录的"技巧"试图避免这些优化并确保清零例程可靠地执行。
这个crate不涉及技巧:它使用core::ptr::write_volatile和core::sync::atomic内存栅栏来提供易于使用的、可移植的清零行为,适用于所有Rust的核心数字类型及其切片,纯Rust实现,不使用FFI或汇编。
- 没有不安全的回退!
- 没有依赖!
- 没有FFI或内联汇编!WASM友好(并已测试)!
#![no_std]
即嵌入式友好!- 除了安全地清空内存外,没有其他功能!
- (可选)为复杂结构提供自定义derive支持
最低支持的Rust版本
Rust 1.60 或更高版本。
在将来,我们保留更改MSRV(即对于此crate的SemVer保证,MSRV不在此范围内)的权利,然而当我们这么做时,将会伴随着小版本号的提升。
许可证
根据以下任一许可证授权:
您可选择。
贡献
除非您明确声明,否则任何由您提交用于包含在作品中的贡献(根据Apache-2.0许可证定义),将如上双许可,不附加任何额外条款或条件。
依赖项
~170KB