Skip to content

Instantly share code, notes, and snippets.

@pablovv72
Last active September 23, 2022 18:08
Show Gist options
  • Save pablovv72/00a01b13941d42aaeb5a7eb2babd76a4 to your computer and use it in GitHub Desktop.
Save pablovv72/00a01b13941d42aaeb5a7eb2babd76a4 to your computer and use it in GitHub Desktop.
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