# `XORCryptor` [crates.io](https://crates.io/crates/xrc_cli) Encrypts or decrypts the file(s) using algorithm based on XOR bitwise operation. [About algorithm](https://github.com/shank03/XORCryptor-Rust#about-algorithm) - [Implementation lib](https://crates.io/crates/xor_cryptor) ![](xrc.gif) Older C++ version: [CLI](https://github.com/shank03/XORCryptor/tree/cli) ### `CLI` This cli encrypts or decrypts the file(s) in synchronized multi-buffered multithreading way. So the only bottleneck is your disk read/write speed. ### `Installing CLI` ```shell $ cargo install xrc_cli ``` ## `Usage` ``` Usage: xrc_cli [OPTIONS] ... Arguments: ... Files and folders to process Options: -e, --encrypt Encrypt -d, --decrypt Decrypt -r Recursively iterate folders if present -j No. of jobs -h, --help Print help information -V, --version Print version information ```
Click to expand for examples It will ask for key everytime you encrypt or decrypt some file ### Encrypt ```shell $ xrc_cli -e file.ext ``` ``` Before command: After command: random_folder random_folder |- some_fld |- some_fld | |- t.txt | |- t.txt | |- p.txt | |- p.txt | |- in_fld | |- in_fld | |- v.mp4 | |- v.mp4 |- file.ext |- file.ext.xrc ``` ### With Folder ```shell $ xrc_cli -e file.ext some_fld ``` ``` Before command: After command: random_folder random_folder |- some_fld |- some_fld | |- t.txt | |- t.txt.xrc | |- p.txt | |- p.txt.xrc | |- in_fld | |- in_fld | |- v.mp4 | |- v.mp4 |- file.ext |- file.ext.xrc ``` ### Preserve source ```shell $ xrc_cli -p -e file.ext some_fld ``` ``` Before command: After command: random_folder random_folder |- some_fld |- some_fld |- t.txt | |- t.txt |- p.txt | |- t.txt.xrc |- in_fld | |- p.txt | |- v.mp4 | |- p.txt.xrc |- file.ext | |- in_fld | |- v.mp4 |- file.ext |- file.ext.xrc ``` ### Iterate Recursively ```shell $ xrc_cli -r -e file.ext some_fld ``` ``` Before command: After command: random_folder random_folder |- some_fld |- some_fld | |- t.txt | |- t.txt.xrc | |- p.txt | |- p.txt.xrc | |- in_fld | |- in_fld | |- v.mp4 | |- v.mp4.xrc |- file.ext |- file.ext.xrc ```
### NOTE ! > DO NOT FORGET THE KEY YOU GAVE FOR ENCRYPTION