Skip to content

Instantly share code, notes, and snippets.

@dsaiztc
Created May 30, 2017 14:49
Show Gist options
  • Save dsaiztc/d6c2b3defca61ce98921316f136763de to your computer and use it in GitHub Desktop.
Save dsaiztc/d6c2b3defca61ce98921316f136763de to your computer and use it in GitHub Desktop.
Obfuscate/encrypt URL params. https://stackoverflow.com/a/16321853
import base64
def encode(key, clear):
enc = []
for i in range(len(clear)):
key_c = key[i % len(key)]
enc_c = chr((ord(clear[i]) + ord(key_c)) % 256)
enc.append(enc_c)
return base64.urlsafe_b64encode("".join(enc))
def decode(key, enc):
dec = []
enc = base64.urlsafe_b64decode(enc)
for i in range(len(enc)):
key_c = key[i % len(key)]
dec_c = chr((256 + ord(enc[i]) - ord(key_c)) % 256)
dec.append(dec_c)
return "".join(dec)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment