Cifrado Kamasutra

Iniciado por Sanko, Agosto 26, 2013, 09:13:55 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas, vengo a traerles la solución a un reto de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: python
#Cifrado Kamasutra en Python - Sanko
#Reto UDT - Cifrado Kamasutra

# -*- coding: utf-8 -*-
from random import randint
from string import maketrans

class cif_Kamasutra():

def __init__(self):
self.text = raw_input("Write the text to encode|> ")
self.text = self.text.upper()
self._gen_alfabeto()

def _gen_alfabeto(self):
#This func has been coded by Pink
self.alfabeto = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
letra1=""
letra2=""
self.retorno=""

for n in range(len(self.alfabeto)):
ram = randint(0,len(self.alfabeto)-1)
letra1 = self.alfabeto[ram]
letra2 = self.alfabeto[n]
self.alfabeto[n] = letra1
self.alfabeto[ram] = letra2

for n in range(len(self.alfabeto)):
self.retorno+=self.alfabeto[n]

#extra code
print "\nDict: %s"% self.retorno
self.new_alphabet = self.retorno[::-1]

self.__encode()
self.__decode()

def __encode(self):
self.encoded = maketrans(self.retorno, self.new_alphabet)
self.final_str = self.text.translate(self.encoded)
print "Encoded: ", self.text.translate(self.encoded)

def __decode(self):
decoded = maketrans(self.new_alphabet, self.retorno)
print "Decoded: ", self.final_str.translate(decoded)


cif_Kamasutra()


Una imágen vale más que mil palabras:


Saludos
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD