#zero #drop #erasure

nightly zerodrop

当数据被丢弃时进行Zeroboxed。不再维护。请使用https://github.com/cesarb/clear_on_drop/上的ClearOnDrop代替。

1个不稳定版本

使用旧的Rust 2015

0.1.4 2017年2月2日
0.1.3 2017年1月14日
0.1.2 2017年1月13日
0.1.1 2017年1月13日
0.1.0 2017年1月12日

#1566 in 加密学

MIT/Apache

19KB
264

不再维护。请使用ClearOnDrop代替。

Box进行轻量级包装,当数据被丢弃时将其数据置零

build status documenation crates.io link

文档

有很多类型的数据在不再需要时应被擦除,加密密钥材料是一个极端的例子。此包提供了简单的包装类型,当数据被丢弃时将内容置零。请参阅文档

我们无法推荐此包用于所有加密应用,因为它不支持mlock。在没有完整分配器的情况下无法支持mlock,因为如果几个mlock调用锁定同一页,则第一个munlock调用将完全解锁该页。

有两个包secretstars提供了这样的分配器,如果您需要真正的保护,则应使用这些包。然而,这些包是在最近添加的分配器特性之前创建的,所以目前事情还在变化。

我们相信此包提供的API与包装mlock的分配器足够相似,代码可以在使用它后转移到完整的分配器。特别是,我们仅在Box数据上操作,并提供了不返回数据到堆栈的方法,其中它不能可靠地擦除

安装

此包与Cargo和crates.io兼容。通过以下方式将其添加到您的Cargo.toml中:

[dependencies]
zerodrop = "^0.1"

使用此包的方式:

extern crate zerodrop;

...

依赖关系

~595KB