import cgi import crypt import random salts="abcdefghijklmnopqrstuvwxyz" memoout={} memoin={} cgibase=cgi.FieldStorage() def transmogrify (param, ix=None): if ix == None: ix=random.randint(0, len(salts)-3) return crypt.crypt(param, salts[ix:ix+2]) def memogrify (param): if memoout.has_key(param): return memoout[param] tmp=transmogrify(param) memoout[param]=tmp return tmp def cgivalue (param): if memoin.has_key(param): return cgibase[memoin[param]] for i in range(len(salts)-2): token=transmogrify(param, i) if cgibase.has_key(token): memoin[param]=token return cgibase[memoin[param]] return None