|
| 1 | +import string |
| 2 | +from random import randint |
| 3 | + |
| 4 | +def decrypt(): |
| 5 | + texto = input("Input the text to decrypt : ").split(".") |
| 6 | + abecedario = string.printable + "áéíóúÁÉÍÚÓàèìòùÀÈÌÒÙäëïöüÄËÏÖÜñÑ´" |
| 7 | + abecedario2 = [] |
| 8 | + nummoves = int(texto[0]) |
| 9 | + indexs = [] |
| 10 | + finalindexs = [] |
| 11 | + textode1 = texto[1] |
| 12 | + textode2 = [] |
| 13 | + |
| 14 | + for l in range(0, len(abecedario)): |
| 15 | + abecedario2.append(abecedario[l]) |
| 16 | + |
| 17 | + for letter in range(0, len(textode1)): |
| 18 | + textode2.append(textode1[letter]) |
| 19 | + |
| 20 | + for index in range(0, len(textode1)): |
| 21 | + indexs.append(abecedario.index(textode1[index])) |
| 22 | + |
| 23 | + for move in range(nummoves, 0): |
| 24 | + abecedario2 += abecedario2.pop(27) |
| 25 | + |
| 26 | + for value in indexs: |
| 27 | + newval = value - nummoves |
| 28 | + finalindexs.append(newval) |
| 29 | + |
| 30 | + textofin = "" |
| 31 | + |
| 32 | + for i in range(0, len(finalindexs)): |
| 33 | + textofin += abecedario2[finalindexs[i]] |
| 34 | + |
| 35 | + print(textofin) |
| 36 | + |
| 37 | +def encrypt(): |
| 38 | + |
| 39 | + texto = input("Input the text to encrypt : ") |
| 40 | + abecedario = string.printable + "áéíóúÁÉÍÚÓàèìòùÀÈÌÒÙäëïöüÄËÏÖÜñÑ´" |
| 41 | + abecedario2 = [] |
| 42 | + nummoves = randint(1, len(abecedario)) |
| 43 | + indexs = [] |
| 44 | + |
| 45 | + texttoenc = [] |
| 46 | + |
| 47 | + for l in range(0, len(abecedario)): |
| 48 | + abecedario2.append(abecedario[l]) |
| 49 | + |
| 50 | + for let in range(0, len(texto)): |
| 51 | + texttoenc.append(texto[let]) |
| 52 | + |
| 53 | + for letter in texto: |
| 54 | + indexs.append(abecedario2.index(letter)) |
| 55 | + |
| 56 | + for move in range(0, nummoves): |
| 57 | + abecedario2 += abecedario2.pop(0) |
| 58 | + |
| 59 | + texto = [] |
| 60 | + |
| 61 | + for i in range(0, len(indexs)): |
| 62 | + texto.append(abecedario2[indexs[i]]) |
| 63 | + texto.append(".") |
| 64 | + |
| 65 | + fintext = "" |
| 66 | + |
| 67 | + for letter2 in range(0, len(texto), 2): |
| 68 | + fintext += texto[letter2] |
| 69 | + |
| 70 | + fintext = str(nummoves) + "." + fintext |
| 71 | + |
| 72 | + print("\Encrypted text : " + fintext) |
| 73 | + |
| 74 | +sel = input("What would you want to do?\n\n[1] Encrypt\n[2] Decrypt\n\n> ").lower() |
| 75 | + |
| 76 | +if sel in ["1", "encrypt"]: |
| 77 | + encrypt() |
| 78 | +elif sel in ["2", "decrypt"]: |
| 79 | + decrypt() |
| 80 | +else: |
| 81 | + print("Unknown selection.") |
0 commit comments