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 details)

Uploaded Source

File details

Details for the file openssl_enc_compat-0.0.3.tar.gz.

File metadata

  • Download URL: openssl_enc_compat-0.0.3.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for openssl_enc_compat-0.0.3.tar.gz
Algorithm Hash digest
SHA256 172001cf981fda217646f9bcca8968f8b906324cf15caf172ba791242a96b38c
MD5 9acc1a78b7c3f6a61a1623268242706d
BLAKE2b-256 3773faebe6253f6bddb20aa78657587224c61cacbb8c7f3b6ed76346b3a6c682

See more details on using hashes here.

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