Hola a todos.
Bueno tenia un tiempo libre y pues a raíz de que un usuario había "echo un nuevo método de codificación (encriptación)" se me ocurrió hacer uno, pero como no soy tan bueno programando (como para inventar una operación matemática furtiva para la encriptación) me las ingenie y salio el siguiente resultado:
Me base en la tabla ASCII pero intentar encriptar algo con eso es súper fácil. Así que intente hacer que sea un poco mas difícil poder entender el texto cifrado.
Ahora el Script
Código:
import random def cifra(mensaje): mensaje = mensaje for code in mensaje: codigo = ord(code) for i in code: while(True): a = random.randrange(0,255) b = random.randrange(0,255) c = a * b if(c == codigo): print(a,b, end="z") break
Lo que hace el script que cifra el texto es obtener el código (ascii) del carácter y mediante la función random obtener números aleatorios uno A y otro B que al multiplicarlos de el codigo de dicho caracter. Una vez que lo consigue lo imprime en pantalla (el caracter z es solo para darle mas estilo )
Estadisticas y defecto del script
El único defecto que podría mencionar es el consumo excesivo de memoria (todo gracias a la función random. Algo que podría decirse que tiene a favor es que por mas que sea el mismo texto a cifrar el resultado seria diferente ya que la función random se encargaría de encontrar diferentes múltiplos para el código del carácter.
Estadisticas del documento (texto a cifrar)
Consumo de memoria
Tiempo de ejecución del script
Consumo de memoria
Tiempo de ejecución del script
Metodo para conseguir el texto original
Código:
def descifra(mensaje): mensaje = mensaje lista = [] for i in mensaje.split('z'): for x in i.split(' '): lista.append(x) it = iter(lista) for x, y in zip(it, it): print(chr(int(x) * int(y)), end='')
Eso es todo en esta oportunidad, espero sea de utilidad (no se si servirá), que sirva para aprender algo nuevo a quienes inician y pues no se que mas decir. Saludos
PD_ espero poder mejorarlo en algún tiempo que tenga libre.
Comentarios
Publicar un comentario
Comentarios