#encryption-decryption #password #hashing #crypto

bin+lib chargo

Chargo is a tool for file encryption/decryption with password. It's based on Argon2 and ChaCha20Poly1305 algorithms.

3 releases

0.1.2 Dec 10, 2022
0.1.1 Dec 10, 2022
0.1.0 Dec 10, 2022

#2348 in Cryptography

MIT license

11KB
175 lines

Latest Version | Documentation

Chargo is a tool for file encryption/decryption with password. It's based on Argon2 and ChaCha20Poly1305 algorithms. From arg2u with ♥

Requirments

To use Chargo you need to install Cargo and Rust. Just paste into your terminal window:

curl https://sh.rustup.rs -sSf | sh
cargo install chargo

Usage

chargo [OPTIONS] <mode> -i <input> -p <pwd>

Flags

-h, --help       Prints help information
-V, --version    Prints version informat

Options

-i <input>         Input file path
-o <output>        Out file path. If it is not provided, Chargo will override input file
-p <pwd>           Path to a password file

Args

<mode>    Set mode decrypt or encrypt

Examples

In-Terminal usage

chargo encrypt -p password.txt -i myfile.txt -o myfile.chargo
chargo decrypt -p password.txt -i myfile.chargo -o myfile.txt

In-Code usage

use chargo::{encrypt_to_file, decrypt_from_file};
use std::path::PathBuf;

fn main() {
    encrypt_to_file(PathBuf::from("pwd.txt"), PathBuf::from("file.txt"), Some(PathBuf::from("file.chargo"))).unwrap();
    decrypt_from_file(PathBuf::from("pwd.txt"), PathBuf::from("file.chargo"), Some(PathBuf::from("file.txt"))).unwrap();
}

Sponsor

ETH: 0xd66e9d65EB278075859881A56B9027Da3260533E

License

MIT

Dependencies

~4–11MB
~91K SLoC