#硬盘 #安全 #擦除 #标准错误 #擦除器 #刮擦器 #刮擦

nozomi

Linux shred命令的等效物,但用Rust和库实现。允许您安全地从硬盘驱动器擦除数据。

6个稳定版本

3.0.1 2024年7月23日
3.0.0 2024年6月2日
2.0.2 2024年7月23日
2.0.1 2024年2月24日
1.0.2 2022年6月26日

#194 in 算法

Download history 120/week @ 2024-05-28 30/week @ 2024-06-04 6/week @ 2024-06-11 206/week @ 2024-07-23 6/week @ 2024-07-30

212 每月下载量

GPL-3.0 许可证

280KB
3.5K SLoC

Nozomi

Nozomi是一个Rust库,可以擦除所有文件或文件夹。
此库包含了Windows软件Eraser的大部分安全删除方法。

添加到您的项目中

[dependencies]
nozomi = "3.0.0"

测试库

先决条件(可选)

cargo install cargo-nextest

测试

git clone https://github.com/Sans-Atout/Nozomi.git
cd Nozomi
cargo nextest run

代码示例

use nozomi::Method::Afssi5020;

fn main() -> Result<(),nozomi::Error> {
    Afssi5020::delete("path/to/file.txt")?;
    // OR
    match Afssi5020::delete("path/to/file.txt"){
        Ok(info) => println!("{}",info), // If you want
        Err(error) => println!("{}",error)
    };

    Ok(())
}

支持

生命终止日期

版本 支持 阶段结束(dd/mm/aaaa)
3.x 支持
2.x 被动支持 02-06-2029
1.x 生命终止过程 02-06-2025

支持生命周期

当发布一个新的主要版本(N)时,它将进入主动支持阶段。将修复错误并添加新功能(新的默认删除算法、更好的文档等)。库将每周通过cargo audit命令进行审计,以确保解决方案中不存在缺陷。

前一个主要版本(N-1)将进入被动支持阶段,该阶段将持续5年。在此期间,库依赖项将每三个月更新一次,以确保项目尽可能保持最新。代码也将进行审计,但仅每月进行一次cargo audit。如果发现需要修改库代码的CVE,将发布一个新的小版本。

一旦这个被动支持阶段结束,该版本将进入生命终止过程,该过程将持续1年。在此阶段,不再更新依赖项,也不再考虑与此库相关的问题。此阶段的存在是为了给可能使用此库的项目更多时间,在将版本移至“已撤回”之前对其代码进行必要的更改。

功能

功能 说明
error-stack 允许使用error-stack库进行错误处理,而不是使用标准的Rust错误处理。
log 允许在库中使用日志。然而,由于这些日志允许恢复已删除的文件/文件夹的名称。
secure_log 允许您显示重写函数进度的日志,同时使用MD5哈希算法将覆盖的文件/文件夹“保密”。

变更日志

贡献

擦除方法

依赖项