nozomi

Crates.ionozomi
lib.rsnozomi
version2.0.2
sourcesrc
created_at2022-06-22 20:05:36.03044
updated_at2024-07-23 21:35:16.004519
descriptionEquivalent of the Linux shred command but in rust and library. Allows you to securely erase data from a hard drive.
homepage
repositoryhttps://github.com/Sans-Atout/Nozomi/
max_upload_size
id611100
size409,945
ROUSSET-ROUVIERE Augustin (Sans-Atout)

documentation

README

Nozomi

A Rust library that wipe all file or folder.
This library includes most of the secure deletion methods of the Eraser for Windows software.

Add to your project

[dependencies]
nozomi = "2.0.2"

Test libraries

Prerequisites

cargo install cargo-nextest --locked 

Library test

git clone https://github.com/Sans-Atout/Nozomi.git
cd Nozomi
chmod +x test.sh
./test.sh

Code example

Erase one file with Pseudo Random method

use nozomi;
use nozomi::OverwriteMethod::Afssi5020;

fn main() {
    match nozomi::erase_file("path_to_file", Afssi5020){
        Ok(info) => println!("{}",info),
        Err(error) => println!("{}",error)
    };
}

Erase one folder with Pseudo Random method

use nozomi;
use nozomi::OverwriteMethod::Afssi5020;

fn main() {
    match nozomi::erase_folder("path_to_folder", Afssi5020, false){
        Ok(info) => println!("{}",info),
        Err(error) => println!("{}",error)
    };
}

Changelog

Contributing

Erase Method

Here are all the methods available and an illustrative diagram for each suppression method.

You can see below an explanation of one brick of the scheme : explanation of diagram

Pseudo Random

pseudo random erase method

Gutmann

gutmann erase method

Hmgi S5

HMGI S5 erase method

DOD 522022 MECE

DOD 522022 MECE erase method

DOD 522022 ME

DOD 522022 ME erase method

AFSSI 5020

AFSSI 5020 erase method

RCMP TSSIT OPS II

RCMP TSSIT OPS II

Commit count: 82

cargo fmt