Easy file encryption using pycryptodome
pip install beefish pycryptodome
Alternatively:
pip install -e git+https://github.com/coleifer/beefish.git#egg=beefish
Dependencies:
Usage:
beefish.py [-tkedaq] in_file [out_file]
-e
- encrypt the providedin_file
and write toout_file
-d
- decrypt the providedin_file
and write toout_file
-k
- specify password as command-line argument (if unspecified you will be securely prompted).-a
- use AES-256 instead of the default "Blowfish" cipher.-t
- run test suite-q
- quiet mode (controls verbosity of test output).
beefish can be used to encrypt and decrypt file-like objects:
from beefish import encrypt, decrypt
# encrypting
with open('secrets.txt') as fh:
with open('secrets.enc', 'wb') as out_fh:
encrypt(fh, out_fh, 'secret p@ssword')
# decrypting
with open('secrets.enc') as fh:
with open('secrets.dec', 'wb') as out_fh:
decrypt(fh, out_fh, 'secret p@ssword')
you can use a shortcut if you like:
# encrypting
encrypt_file('secrets.txt', 'secrets.enc', 'p@ssword')
# decrypting
decrypt_file('secrets.enc', 'secrets.dec', 'p@ssword')
you can use it from the command-line:
beefish.py -e secrets.txt secrets.enc
beefish.py -d secrets.enc secrets.dec
to use AES-256 cipher instead of the default, which is blowfish:
beefish.py -a -e secrets.txt
beefish.py -a -d secrets.encrypted