python-simpleencode


Simple python encoder/decoder for short strings given a salt useful for data obsfucation in urls, tables, and other public storage

simple encode decode with a 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.

```

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 Information

Labels:
python url encode decode