#progress-bar #overwrite #data #times #securely #file #random

secure_purge

SecurePurge 是一个用于通过多次覆盖数据来安全删除文件的 crate。它易于使用,支持删除单个文件、目录以及具有唯一名称的多个文件,并允许自定义覆盖次数。该工具依赖于如 indicatif 用于进度条、rand 用于生成随机覆盖数据以及 colored 用于提高输出可读性的依赖项。SecurePurge 是开源的,欢迎贡献力量。未来的增强包括添加磁盘格式化和优化性能。它遵循 MIT 许可证。请关注更多更新。

1 个不稳定版本

0.1.0 2024年1月30日

#1115 in 文件系统

MIT 许可证

13KB
174

SecurePurge

简介

SecurePurge 是一个专为从文件系统中安全删除文件而设计的 Rust crate。它采用在最终删除文件之前多次覆盖文件数据的方法,确保数据不易恢复。该工具特别适用于需要从存储设备中安全擦除敏感数据的情况。

使用方法

SecurePurge 使用语法简单,以下是一些使用 SecurePurge 的示例:

使用示例

删除单个文件


#[tokio::main]
async fn main() {
    let file_path = PathBuf::from("path/to/your/file.txt");
    let remover = FileRemover::new(5, file_path, false).unwrap();
    remover.delete().await.unwrap();
}

删除目录及其内容


#[tokio::main]
async fn main() {
    let dir_path = PathBuf::from("path/to/your/directory");
    let remover = FileRemover::new(5, dir_path, true).unwrap();
    remover.delete().await.unwrap();
}

删除具有唯一名称的多个文件


#[tokio::main]
async fn main() {
    // Generate 10 files with unique names in a temporary directory
    let dir = tempfile::TempDir::new().unwrap();
    for i in 0..10 {
        let file_name = format!("file{}.txt", i);
        let file_path = dir.path().join(file_name);
        let mut file = File::create(file_path).unwrap();
        write!(file, "File {} contents", i).unwrap();
    }

    // Remove all files from the temporary directory
    let remover = FileRemover::new(5, dir.path().to_path_buf(), false).unwrap();
    remover.delete().await.unwrap();
}

自定义覆盖次数

增加覆盖次数以提高文件删除的安全性。


#[tokio::main]
async fn main() {
    let file_path = PathBuf::from("path/to/your/file.txt");
    let remover = FileRemover::new(100, file_path, false).unwrap();
    remover.delete().await.unwrap();
}

依赖项

SecurePurge 依赖于几个依赖项以正常工作:

  • indicatif: 用于创建进度条的 Rust crate。SecurePurge 使用 indicatif 显示安全删除文件时的进度。(当前版本:0.17.7)

  • rand: 这是一个提供生成随机数功能的 Rust crate。在 SecurePurge 中,它用于在安全删除过程中生成随机数据覆盖文件。(当前版本:0.8.5)

  • colored: 用于着色终端输出的 Rust crate。SecurePurge 使用 colored 来增强其输出的可读性。(当前版本:2.1.0)

贡献者

SecurePurge 是一个开源项目,欢迎贡献力量。如果您有兴趣贡献,请随意fork 仓库,进行更改,并提交拉取请求。

未来增强

  • 添加磁盘格式化功能,允许安全擦除整个存储设备。
  • 在各个文件系统和平台上进行进一步优化和测试。

许可证

SecurePurge 遵循 MIT 许可证。请随意使用、修改和分发代码,按照许可证条款。


SecurePurge 目前仍在积极开发中,新的功能和改进正在不断添加。请继续关注更多更新和改进。

依赖项

~3–11MB
~104K SLoC