LOGIN_CHARSET = " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" LOGOUT_CHARSET = " ABCDEFGHIJKLMNOPQRSTUVWXYZ" def decode_letter(letter): ln = len(LOGOUT_CHARSET) return LOGIN_CHARSET.index(letter) % ln def encode_letter(numb): ln = len(LOGOUT_CHARSET) return LOGOUT_CHARSET[numb % ln] def shift(text,type): ln = len(text) amount = 0 if(type == 0 or type ==1): amount = 0 if(type == 2 or type ==3): amount = 1 if(type == 4 or type ==5): amount = 2 if(type == 6 or type ==7): amount = 3 if(type == 8 or type ==9): amount = 4 if(type == 10 or type ==11): amount = 5 if(type == 12 or type ==13): amount = 6 if(type == 14 or type ==15): amount = 7 ctext = "" for i in range(0,ln): ctext += text[(i+amount)%ln] return ctext def rearrange(text,type): ctext = "" if(type == 1 or type == 0): #0241376 ctext += text[0] ctext += text[2] ctext += text[4] ctext += text[1] ctext += text[3] ctext += text[7] ctext += text[5] ctext += text[6] return ctext if(type == 2 or type == 3): #60241375 ctext += text[6] ctext += text[0] ctext += text[2] ctext += text[4] ctext += text[1] ctext += text[3] ctext += text[7] ctext += text[5] return ctext if(type == 4 or type == 5): #56024137 ctext += text[5] ctext += text[6] ctext += text[0] ctext += text[2] ctext += text[4] ctext += text[1] ctext += text[3] ctext += text[7] return ctext if(type == 6 or type == 7): #75602413 ctext += text[7] ctext += text[5] ctext += text[6] ctext += text[0] ctext += text[2] ctext += text[4] ctext += text[1] ctext += text[3] return ctext if(type == 8 or type == 9): #37560241 ctext += text[3] ctext += text[7] ctext += text[5] ctext += text[6] ctext += text[0] ctext += text[2] ctext += text[4] ctext += text[1] return ctext if(type == 10 or type == 11): #13756024 ctext += text[1] ctext += text[3] ctext += text[7] ctext += text[5] ctext += text[6] ctext += text[0] ctext += text[2] ctext += text[4] return ctext if(type == 12 or type == 13): #41375602 ctext += text[4] ctext += text[1] ctext += text[3] ctext += text[7] ctext += text[5] ctext += text[6] ctext += text[0] ctext += chr(ord(text[2])+6) return ctext if(type == 14 or type == 15): #24137560 ctext += text[2] ctext += text[4] ctext += text[1] ctext += text[3] ctext += text[7] ctext += text[5] ctext += text[6] ctext += text[0] return ctext def decrypt(ciphertext): ln = len(ciphertext) plaintext = "" for i in range(0,ln): letter = ciphertext[i] lnum = decode_letter(letter) lnum -= (i+1) letter = encode_letter(lnum) plaintext += letter return plaintext def decode_name(code): ctype = int(code[1],16) #print(ctype) code = code[6:] code = rearrange(code,ctype) #print(code) code = decrypt(code) code = shift(code,ctype) return code #print(decode_name("562DF1DJFLHHJF")) codelist = open("Codes.txt","r").read().split('\n') for code in codelist: if code[0] == "#": continue print(decode_name(code))