Skip to main content

Pure Python read/write encryption/decryption of encrypted OpenSSL 1.1.1 files

Project description

openssl_enc_compat

Pure Python 2.7 and 3.x library that is compatible with OpenSSL 1.1.1+ encryption and decryption. https://github.com/clach04/openssl_enc_compat

This is intended to be used a library, rather than as a command line tool. Can encrypt/decrypt raw binary and base64 encoded content. Only supports aes-256-cbc with salt using pbkdf2. pbkdf2 iterations defaults to 10,000 to match OpenSSL default but can be specified.

Also checkout:

Sample

from openssl_enc_compat.cipher import OpenSslEncDecCompat

# echo hello| openssl enc -e aes-256-cbc -salt -pbkdf2 -iter 10000 -in - -base64 -out - -pass pass:password
openssl_crypted_base64_text = 'U2FsdGVkX18NXhFhTlAyvM2jXPu+hhsT344TvO0yLYk='  # base64
openssl_crypted_base64_text = b'Salted__\r^\x11aNP2\xbc\xcd\xa3\\\xfb\xbe\x86\x1b\x13\xdf\x8e\x13\xbc\xed2-\x89'  # raw binary
password = b'password'

print('openssl_crypted_base64_text: %r' % openssl_crypted_base64_text)
print('password: %r' % password)

cipher = OpenSslEncDecCompat(password)  # guess/default
plaintext = cipher.decrypt(openssl_crypted_base64_text)  # guesses if base64 encoded or note
print('plaintext: %r' % plaintext)

Quick demo:

python -m openssl_enc_compat.cipher

Run tests

python -m openssl_enc_compat.tests.testsuite -v

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openssl_enc_compat-0.0.3.tar.gz (5.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page