# conding: utf-8 import string import base64 import random import sys def encodestr(s): salt1 = ''.join(random.sample(string.ascii_letters + string.digits, 5)) salt2 = ''.join(random.sample(string.ascii_letters + string.digits, 8)) ens = '' sens = str(base64.b64encode(s.encode('utf-8')), 'utf-8').strip() sens = sens.strip('=') for num, word in enumerate(sens): if num == 0: ens += salt1 if num == len(sens) - 4 and len(sens) > 10: ens += salt2 ens += word return ens def decodestr(s): dns = s[5:].replace(s[-12:-4],'') + '==' return str(base64.b64decode(dns.encode('utf-8')),'utf-8') if __name__ == "__main__": if len(sys.argv) != 3: print("usage: word_generater.py [decodestr]/[encodestr] [string]") if sys.argv[1] == "decode" : print(decodestr(sys.argv[2])) if sys.argv[1] == "encode" : print(encodestr(sys.argv[2]))