symmetrically encrypt files and folders by keeping track of each file pre and post-meta-data during the encryption process.
Simple python script to use GPG symmetric encryption to protect data.
- PnP (Use the python and built-in GPG tools)
- Two layers of encryption.
- Cloud-ready. (Can be used to encrypt content before uploading to open cloud providers.)
- Can be automated.
Requires Python 3.8.10+ to run.
Requirement | Download | Version |
---|---|---|
Python | https://www.python.org/ | 3.8.10+ |
pip | https://pip.pypa.io/en/stable/installation/ | 20.0.2+ |
GPG | https://gnupg.org/download/ | 2.2.19 |
TAR | https://www.gnu.org/software/tar/ | 1.30 |
Install the efc package using pip package manager.
cd efc_v3
pip install efc_v3
evc_v3 <PARAMS>
Use the below commands as the parameters:
Commands | Description | Optional | Default |
---|---|---|---|
-h | help / display all options | yes | N/A |
-operation | operation (e for encrypt, d for decrypt) | no | e |
-src | source folder location | no | N/A |
-dest | destination folder location | no | N/A |
-index-password | password to encrypt the index file . |
yes | N/A |
-data-password | password to encrypt the file content . |
no | N/A |
-index-file | index file name and location | yes | an index file will be created with index.db on the source location. |
-index-delete | delete the decrypted index file. | yes | yes |
-restore | restore folder location | yes | N/A |
-allow-duplicate | allow duplicate files during encryption process | yes | False |
-random-names | generate random names for files | yes | False |
-ignore-types | list of file types (extensions) to ignore. | yes | N/A |
Use the sample files inside the test
folder with the below commands:
python test_encrypt.py
python test_decrypt
Below command should encrypt
the all the content found inside the test/test_data/source_location
to the folder : test/test_data/destination_location
.
efc_v3.py -o e -src test/test_data/source_location/ -dest test/test_data/dest_location -index-file index.db -index-password 123 -data-password 321 -allow-duplicate yes -random-names yes -ignore-types prop
Below command should decrypt
the all the content found inside the test/test_data/destination_location
to the folder : test/test_data/source_location
.
efc_v3.py -o d -src test/test_data/dest_location -restore test/test_data/restore -index-file index.db -index-password 123 -data-password 321
- MIT license (MIT)