aef

Crates.ioaef
lib.rsaef
version0.5.0
sourcesrc
created_at2021-06-17 08:53:15.32081
updated_at2024-08-31 06:50:33.309022
descriptionAn encrypted file archiver
homepagehttps://github.com/wyhaya/aef
repositoryhttps://github.com/wyhaya/aef.git
max_upload_size
id411255
size63,715
(wyhaya)

documentation

README

aef GitHub Workflow Status Crates.io

aef is an encrypted file archiver, it uses AES-256-GCM to fully encrypt data and  scrypt  to prevent brute force data cracking. It also allows the use of Brotli to reduce the size of archived files.

[!WARNING]

  • aef has not undergone any security check
  • Disruptive changes may occur prior to 1.0

Features

  • Use AES-256-GCM for complete data encryption
  • Use scrypt to prevent brute force cracking
  • Use brotli compression file Optional
  • Support cross-platform Linux macOS Windows
  • Support the encryption directory and file
  • Support file permissions Unix

Install

Download the binary from the release page

Or use cargo to install

cargo install aef

Usage

Encryption

aef -i ./files/ -o ./dist.aef

Decryption

aef -i ./dist.aef -o ./files/ -d

Password

By default you will enter your password in the terminal, if you don't want to enter it manually you can use the -p option

aef -i ./files/ -o ./dist.aef -p 123456

Compress

aef support the use of brotli to compress files, you can use the -c option to specify the compression level

# Compress at the fastest speed
aef -i ./files -o ./dist.aef -c

# Adjust the compress quality
aef -i ./files -o ./dist.aef -c 8
  • Fastest: -c 0
  • Best: -c 11

Help

aef --help
Usage: aef [OPTIONS]

Options:
  -i, --input <INPUT>                File | Stdin
  -o, --output <OUTPUT>              File | Stdout
  -p, --password <PASSWORD>          Set password
  -d, --decrypt                      Decrypt file
  -c, --compress [<LEVEL>]           Set compression level [0 - 11]
      --scrypt-log-n <SCRYPT_LOG_N>  Set scrypt params [default: 20]
      --scrypt-r <SCRYPT_R>          Set scrypt params [default: 8]
      --scrypt-p <SCRYPT_P>          Set scrypt params [default: 1]
  -h, --help                         Print help
  -V, --version                      Print version
Commit count: 22

cargo fmt