Last active
September 23, 2022 18:08
-
-
Save pablovv72/00a01b13941d42aaeb5a7eb2babd76a4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from random import seed, randrange | |
def code_random(text): # El texto ha de ser letras de A-Z (sin la Ñ) | |
# o espacios. | |
if len(text) % 4 > 0: | |
text += ' ' * (4 - len(text) % 4) # Añade espacios al final si es | |
# necesario. | |
seq = [] | |
tokens = [text[i:i+4] for i in range(0, len(text), 4)] # Divide el texto | |
# en trozos de 4 caracteres. | |
for token in tokens: | |
i = 0 | |
while True: # Loop que prueba semillas de generación hasta encontrar | |
# la correcta para cada trozo. | |
seed(i) | |
sample = ''.join( | |
chr(randrange(64, 90)) for _ in range(4)).replace('@', ' ') | |
if sample == token: | |
seq.append(i) | |
break | |
i += 1 | |
return seq # Devuelve una lista con las semillas para cada trozo. | |
def decode_random(seq): # Hace el proceso inverso, se le pasa una lista de | |
# semillas y devuelve el texto. | |
text = '' | |
for token in seq: | |
seed(token) | |
text += ''.join( | |
chr(randrange(64, 90)) for _ in range(4)).replace('@', ' ') | |
return text |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment