1 个不稳定版本
0.1.0 | 2024年1月30日 |
---|
#1115 in 文件系统
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