Update and rename HOP 1.0.1 - decode.py to HOP 1.0.1.1.py
This commit is contained in:
		
							parent
							
								
									825799ce0b
								
							
						
					
					
						commit
						53e28c7265
					
				|  | @ -1,70 +0,0 @@ | ||||||
| #1.0: |  | ||||||
| #Released HOP Decode |  | ||||||
| #1.0.1: |  | ||||||
| #Updated version number to match HOP Encode |  | ||||||
| #Added changelog |  | ||||||
| import base64 |  | ||||||
| ciphertext=input("Enter message to decode: ") |  | ||||||
| steponel = list(ciphertext) |  | ||||||
| stepone = "" |  | ||||||
| for i in range(len(steponel)-1): |  | ||||||
|   stepone=stepone+steponel[i] |  | ||||||
| steptwo = stepone.encode('utf-8') |  | ||||||
| steptwob = base64.a85decode(steptwo) |  | ||||||
| steptwoc = steptwob.decode('utf-8') |  | ||||||
| def vigenere_dec(cipher,key): |  | ||||||
|   alphabet = "abcdefghijklmnopqrstuvwxyz0123456789" |  | ||||||
|   input_string = "" |  | ||||||
|   dec_key = "" |  | ||||||
|   dec_string = "" |  | ||||||
|   dec_key = key |  | ||||||
|   dec_key = dec_key.lower() |  | ||||||
|   input_string = cipher |  | ||||||
|   input_string = input_string.lower() |  | ||||||
|   string_length = len(input_string) |  | ||||||
|   expanded_key = dec_key |  | ||||||
|   expanded_key_length = len(expanded_key) |  | ||||||
|   while expanded_key_length < string_length: |  | ||||||
|     expanded_key = expanded_key + dec_key |  | ||||||
|     expanded_key_length = len(expanded_key) |  | ||||||
|   key_position = 0 |  | ||||||
|   for letter in input_string: |  | ||||||
|     if letter in alphabet: |  | ||||||
|       position = alphabet.find(letter) |  | ||||||
|       key_character = expanded_key[key_position] |  | ||||||
|       key_character_position = alphabet.find(key_character) |  | ||||||
|       key_position = key_position + 1 |  | ||||||
|       new_position = position - key_character_position |  | ||||||
|       if new_position > 35: |  | ||||||
|         new_position = new_position + 36 |  | ||||||
|       new_character = alphabet[new_position] |  | ||||||
|       dec_string = dec_string + new_character |  | ||||||
|     else: |  | ||||||
|       dec_string = dec_string + letter |  | ||||||
|   return(dec_string) |  | ||||||
| def stepfour(stepthree): |  | ||||||
|   stepthree=str(int(stepthree,36)) |  | ||||||
|   test = list(stepthree) |  | ||||||
|   if len(test)%3==1: |  | ||||||
|     stepthree="00"+stepthree |  | ||||||
|   if len(test)%3==2: |  | ||||||
|     stepthree="0"+stepthree |  | ||||||
|   stepthreel = list(stepthree) |  | ||||||
|   stepfourl = [""]*int((float(len(stepthreel))/3)) |  | ||||||
|   k = 0 |  | ||||||
|   while k < len(stepthreel)-2: |  | ||||||
|     stepfourl[int(k/3)] = stepthreel[k] + stepthreel[k+1] + stepthreel[k+2] |  | ||||||
|     k = k + 3 |  | ||||||
|   for j in range(len(stepfourl)): |  | ||||||
|     temp = stepfourl[j] |  | ||||||
|     temp = int(temp) |  | ||||||
|     temp = chr(temp) |  | ||||||
|     stepfourl[j] = temp |  | ||||||
|   stepfour="" |  | ||||||
|   for l in range(len(stepfourl)): |  | ||||||
|     stepfour = stepfour + stepfourl[l] |  | ||||||
|   return(stepfour) |  | ||||||
| key = input("Enter encryption key: ") |  | ||||||
| stepthree = vigenere_dec(steptwoc, key) |  | ||||||
| stepfour = stepfour(stepthree) |  | ||||||
| print("Your decoded message: "+stepfour) |  | ||||||
|  | @ -0,0 +1,153 @@ | ||||||
|  | #Changelog: | ||||||
|  |   #HOP Encode | ||||||
|  |     #1.0: | ||||||
|  |       #Released HOP Encode | ||||||
|  |     #1.0.1:  | ||||||
|  |       #Updated version number | ||||||
|  |       #Added optimize for Discord option | ||||||
|  |       #Added changelog | ||||||
|  |   #Hop Decode | ||||||
|  |     #1.0: | ||||||
|  |       #Released HOP decode | ||||||
|  |     #1.0.1: | ||||||
|  |       #Updated version number to match that of HOP  Encode | ||||||
|  |       #Added changelog | ||||||
|  | 
 | ||||||
|  | import base64 | ||||||
|  | def decode(ciphertext, key): | ||||||
|  |   steponel = list(ciphertext) | ||||||
|  |   stepone = "" | ||||||
|  |   for i in range(len(steponel)-1): | ||||||
|  |     stepone=stepone+steponel[i] | ||||||
|  |   steptwo = stepone.encode('utf-8') | ||||||
|  |   steptwob = base64.a85decode(steptwo) | ||||||
|  |   steptwoc = steptwob.decode('utf-8') | ||||||
|  |   def vigenere_dec(cipher,key): | ||||||
|  |     alphabet = "abcdefghijklmnopqrstuvwxyz0123456789" | ||||||
|  |     input_string = "" | ||||||
|  |     dec_key = "" | ||||||
|  |     dec_string = "" | ||||||
|  |     dec_key = key | ||||||
|  |     dec_key = dec_key.lower() | ||||||
|  |     input_string = cipher | ||||||
|  |     input_string = input_string.lower() | ||||||
|  |     string_length = len(input_string) | ||||||
|  |     expanded_key = dec_key | ||||||
|  |     expanded_key_length = len(expanded_key) | ||||||
|  |     while expanded_key_length < string_length: | ||||||
|  |       expanded_key = expanded_key + dec_key | ||||||
|  |       expanded_key_length = len(expanded_key) | ||||||
|  |     key_position = 0 | ||||||
|  |     for letter in input_string: | ||||||
|  |       if letter in alphabet: | ||||||
|  |         position = alphabet.find(letter) | ||||||
|  |         key_character = expanded_key[key_position] | ||||||
|  |         key_character_position = alphabet.find(key_character) | ||||||
|  |         key_position = key_position + 1 | ||||||
|  |         new_position = position - key_character_position | ||||||
|  |         if new_position > 35: | ||||||
|  |           new_position = new_position + 36 | ||||||
|  |         new_character = alphabet[new_position] | ||||||
|  |         dec_string = dec_string + new_character | ||||||
|  |       else: | ||||||
|  |         dec_string = dec_string + letter | ||||||
|  |     return(dec_string) | ||||||
|  |   def stepfour(stepthree): | ||||||
|  |     stepthree=str(int(stepthree,36)) | ||||||
|  |     test = list(stepthree) | ||||||
|  |     if len(test)%3==1: | ||||||
|  |       stepthree="00"+stepthree | ||||||
|  |     if len(test)%3==2: | ||||||
|  |       stepthree="0"+stepthree | ||||||
|  |     stepthreel = list(stepthree) | ||||||
|  |     stepfourl = [""]*int((float(len(stepthreel))/3)) | ||||||
|  |     k = 0 | ||||||
|  |     while k < len(stepthreel)-2: | ||||||
|  |       stepfourl[int(k/3)] = stepthreel[k] + stepthreel[k+1] + stepthreel[k+2] | ||||||
|  |       k = k + 3 | ||||||
|  |     for j in range(len(stepfourl)): | ||||||
|  |       temp = stepfourl[j] | ||||||
|  |       temp = int(temp) | ||||||
|  |       temp = chr(temp) | ||||||
|  |       stepfourl[j] = temp | ||||||
|  |     stepfour="" | ||||||
|  |     for l in range(len(stepfourl)): | ||||||
|  |       stepfour = stepfour + stepfourl[l] | ||||||
|  |     return(stepfour) | ||||||
|  |   stepthree = vigenere_dec(steptwoc, key) | ||||||
|  |   stepfour = stepfour(stepthree) | ||||||
|  |   output = "Your decoded message: "+stepfour | ||||||
|  |   return output; | ||||||
|  | def encode(plaintext, key): | ||||||
|  |   def b36_encode(i): | ||||||
|  |       if i < 0: return "-" + b36_encode(-i) | ||||||
|  |       if i < 36: return "0123456789abcdefghijklmnopqrstuvwxyz"[i] | ||||||
|  |       return b36_encode(i // 36) + b36_encode(i % 36)  | ||||||
|  |   def stepone(plaintext): | ||||||
|  |     magicasciipowers = list(plaintext) | ||||||
|  |     numbersgohere = [""]*len(magicasciipowers) | ||||||
|  |     for i in range(len(magicasciipowers)): | ||||||
|  |       temp = magicasciipowers[i] | ||||||
|  |       temp = ord(temp) | ||||||
|  |       if (temp<100): | ||||||
|  |         numbersgohere[i]="0"+str(temp) | ||||||
|  |       else: | ||||||
|  |         numbersgohere[i]=str(temp) | ||||||
|  |     numbers = "" | ||||||
|  |     for i in range(len(numbersgohere)): | ||||||
|  |       numbers=numbers+numbersgohere[i] | ||||||
|  |     return(int(numbers)) | ||||||
|  |   def vigenere_enc(stepone,key): | ||||||
|  |     alphabet = "abcdefghijklmnopqrstuvwxyz0123456789" | ||||||
|  |     input_string = "" | ||||||
|  |     enc_key = "" | ||||||
|  |     enc_string = "" | ||||||
|  |     enc_key = key | ||||||
|  |     enc_key = enc_key.lower() | ||||||
|  |     input_string = stepone | ||||||
|  |     input_string = input_string.lower() | ||||||
|  |     string_length = len(input_string) | ||||||
|  |     expanded_key = enc_key | ||||||
|  |     expanded_key_length = len(expanded_key) | ||||||
|  |     while expanded_key_length < string_length: | ||||||
|  |       expanded_key = expanded_key + enc_key | ||||||
|  |       expanded_key_length = len(expanded_key) | ||||||
|  |     key_position = 0 | ||||||
|  |     for letter in input_string: | ||||||
|  |       if letter in alphabet: | ||||||
|  |         position = alphabet.find(letter) | ||||||
|  |         key_character = expanded_key[key_position] | ||||||
|  |         key_character_position = alphabet.find(key_character) | ||||||
|  |         key_position = key_position + 1 | ||||||
|  |         new_position = position + key_character_position | ||||||
|  |         if new_position > 35: | ||||||
|  |           new_position = new_position - 36 | ||||||
|  |         new_character = alphabet[new_position] | ||||||
|  |         enc_string = enc_string + new_character | ||||||
|  |       else: | ||||||
|  |         enc_string = enc_string + letter | ||||||
|  |     return(enc_string) | ||||||
|  |   steptwo = vigenere_enc(b36_encode(stepone(plaintext)),key) | ||||||
|  |   steptwob = steptwo.encode('utf-8') | ||||||
|  |   stepthree = base64.a85encode(steptwob) | ||||||
|  |   stepthreeb = stepthree.decode('utf-8') | ||||||
|  |   stepfour = str(stepthreeb)+"h" | ||||||
|  |   answer = False | ||||||
|  |   while answer == False: | ||||||
|  |     discord = input("Optimize for discord? y or n: ") | ||||||
|  |     if(discord=="y"): | ||||||
|  |       answer = True | ||||||
|  |       stepfour = "```"+str(stepthreeb)+"h```" | ||||||
|  |     elif(discord=="n"): | ||||||
|  |       answer = True | ||||||
|  |   output="Your encoded message: "+stepfour | ||||||
|  |   return output | ||||||
|  | var = input("Encode or Decode? 1 for encode, 2 for decode: ") | ||||||
|  | if (var=="1"): | ||||||
|  |   ciphertext = input("Enter message to encode: ") | ||||||
|  |   key = input("Enter encryption key: ") | ||||||
|  |   print(encode(ciphertext, key)) | ||||||
|  | elif (var=="2"): | ||||||
|  |   plaintext = input("Enter message to decode: ") | ||||||
|  |   key = input("Enter encryption key: ") | ||||||
|  |   print(decode(plaintext, key)) | ||||||
		Loading…
	
		Reference in New Issue