#erase #security #hard-drive #eraser #wipper #wipping

nozomi

Equivalent of the Linux shred command but in rust and library. Allows you to securely erase data from a hard drive.

3 stable releases

2.0.1 Feb 24, 2024
2.0.0 May 14, 2023
1.0.2 Jun 26, 2022
1.0.1 Jun 22, 2022

#1 in #erase

33 downloads per month

GPL-3.0 license

270KB
527 lines

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.1"

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

Dependencies

~790KB
~13K SLoC