Skip to main content

simple encode decode with a private key, based on the base64 encode and decode.

Project description

simple encode decode w/ private key, based on the base64 encode and decode.

Initially developed for turning database ID’s into URL’s without exposing the ids in the url, or having a bot iterate over the values.

Also useful for storing passwords which need to be converted back to clear text, in alphanumeric form given a secret word. This is NOT encryption nor a hash. This is NOT cryptographically safe. For that an SSL public/private key pair is preferred. For situations where the encoded string is already protected by a privileged account, and the secret key is stored in a configuration file which is also protected by a privileged login, this system is secure. It is secure by virtue of having all its elements secure, and mitigates the risk of compromise of either one of those vectors (but not both).

This is good for websites which store the secret key in a configuration file on disk, and the encoded word in a database (accessible by a different user), and where both values are not in transactional memory except for the duration of decoding and using the decoded string, which should be immediate.

Requires Python 2.4 or greater

>>> from simpleencode import encode, decode, mksecret
>>> secret_key = mksecret()
>>> secret_key
"{iIb'd/y!%w$'BDL&6NkWf`LeyZvp+}6QFm3~sBQjP)[!8xZ}a"
>>> encoded = encode("Some Text", secret_key)
>>> encoded
'S1lwA3QLQhwBcRJcUxs5fQNSekZjNjwREzFzNSthFh9kNj5PSzl6Cih6HxtWa1lvKhE='
>>> decode(encoded, secret_key)
'Some Text'
>>>

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

simpleencode-1.0.0.tar.gz (4.3 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