With this program you can easily protect your files by encrypting them using a 32 character key generated by the tool. This tool as well as being able to encrypt and decrypt files can do the same thing on file names, making them unreadable.
Before full encrypt (data encrypt and file name encrypt):
After full encrypt (data encrypt and file name encrypt):
This program requires python3
. It can be downloaded through the download page on the official python website.
For an easy setup you can run setup.py
file:
python setup.py install
As I said before, this program let the user also generate the key (that will be used for encrypt/decrypt files and filenames). It can do that using this command:
python virtualsafe.py --generate-key <SAVE_LOCATION> --security-credentials <PASSWORD> <SALT>
Command example:
python virtualsafe.py --generate-key "C:\Users\luca6\Desktop\super-secure-key.txt" --security-credentials "password" "salt"
The parameter of "--generate-key" specify where the key will be saved after the generation, while the parameter of "--security-credentials" are used for generate an unique key. The length of the key it's hard-coded in the program (32 characters) so it can be modified via parameters.
After the key it's generated you can already secure your directory via encryption using this simple command:
python virtualsafe.py --crypt-dir <DIRECTORY_PATH> <KEY_PATH>
Command example:
python virtualsafe.py --crypt-dir "C:\Users\luca6\Desktop\super_secret_directory" "C:\Users\luca6\Desktop\super-secure-key.txt"
The parameters of "--crypt-dir" specify what's the directory to be secured and where is the key that will be used for the data encryption.
WARNING: Mind what directory you encrypt; if you encrypt a folder that is already encrypted all your data will be lost (can't be decrypted). This will fixed in future versions.
After you have encryted the file's data, them are not accessible. To make the files readable again you have to decypt the data. This using this simple command:
python virtualsafe.py --decrypt-dir <CRYPTED_DIRECTORY_PATH> <KEY_PATH>
Command example:
python virtualsafe.py --decrypt-dir "C:\Users\luca6\Desktop\super_secret_directory" "C:\Users\luca6\Desktop\super-secure-key.txt"
WANING: Mind what key you use for the decryption; if you use a different key to decrypt from the one you used during encryption your data will be lost. This due to security purpouses.
This is an extra features which allows you to hide file data and also their file names. This feature is only a flag so it doesn't have a dedicated command.
For encrypt the file names you have to add the flag crypt-filename
after the crypt-dir
command:
python virtualsafe.py --crypt-dir <DIRECTORY_PATH> <KEY_PATH> --crypt-filename
Command example:
python virtualsafe.py --crypt-dir "C:\Users\luca6\Desktop\super_secret_directory" "C:\Users\luca6\Desktop\super-secure-key.txt" --crypt-filename
Otherwise for decrypt the file names you have to add the flag decrypt-filename
after the decrypt-dir
command:
Command example:
python virtualsafe.py --decrypt-dir "C:\Users\luca6\Desktop\super_secret_directory" "C:\Users\luca6\Desktop\super-secure-key.txt" --decrypt-filename