Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- def encriptar(clave):
- clave = clave.replace(" ", "_")
- clave = list(clave)
- texto = str(raw_input("\nMensaje: "))
- texto = texto.replace(" ", "_")
- texto = list(texto)
- num = ["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","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","_","0","1","2","3","4","5","6","7","8","9"]
- # Imprime el diccionario
- #for i in range(len(num)):
- # print i, num[i]
- # Saca los numeros de la palabra clave
- cosa = []
- for j in range(len(clave)):
- for i in range(len(num)):
- if num[i] == clave[j]:
- cosa.append(i)
- #print "cosa = ",cosa
- lol = [] # La palabra en numeros
- # Convierte las palabras en numeros
- for j in range(len(texto)):
- for i in range(len(num)):
- if num[i] == texto[j]:
- #print i, num[i], j, texto[j]
- lol.append(i)
- #print texto, len(texto)
- #print lol, len(lol)
- x = 0
- print "\n *------------------------------------*\n"
- # Hace la operacion
- temp =[]
- for i in range(len(lol)):
- lal = ((lol[i]+cosa[x])%(len(num)))
- #print i, "|", x," | ",num[lol[i]],lol[i],"+",num[cosa[x]],cosa[x],"%",len(num),"=",lal
- temp.append(lal)
- x += 1
- if x > (len(cosa)-1):
- x = 0
- resultado = []
- # Pasa los numeros de las operaciones por el diccionario
- #print len(temp), temp
- for i in range(len(temp)):
- #print i, temp[i]
- resultado.append(num[temp[i]])
- # Hace sumatoria de la lista
- cifrado = ""
- for i in range(len(temp)):
- cifrado += resultado[i]
- print "Mensaje cifrado: ",cifrado,"\n"
- def desencriptar(clave):
- clave = clave.replace("_", " ")
- clave = list(clave)
- texto = str(raw_input("\nMensaje: "))
- texto = texto.replace("_", " ")
- texto = list(texto)
- num = ["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","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"," ","0","1","2","3","4","5","6","7","8","9"]
- cosa = []
- for j in range(len(clave)):
- for i in range(len(num)):
- if num[i] == clave[j]:
- cosa.append(i)
- lol = [] # La palabra en numeros
- # Convierte las palabras en numeros
- for j in range(len(texto)):
- for i in range(len(num)):
- if num[i] == texto[j]:
- #print i, num[i], j, texto[j]
- lol.append(i)
- x = 0
- print "\n *------------------------------------*\n"
- # Hace la operacion
- temp =[]
- for i in range(len(lol)):
- lal = ((len(num)+lol[i]-cosa[x])%(len(num)))
- #print i, "|", x," | ",num[lol[i]],lol[i],"+",num[cosa[x]],cosa[x],"%",len(num),"=",lal
- temp.append(lal)
- x += 1
- if x > (len(cosa)-1):
- x = 0
- resultado = []
- # Pasa los numeros de las operaciones por el diccionario
- #print len(temp), temp
- for i in range(len(temp)):
- #print i, temp[i]
- resultado.append(num[temp[i]])
- # Hace sumatoria de la lista
- cifrado = ""
- for i in range(len(temp)):
- cifrado += resultado[i]
- print "Mensaje desencriptado: ", cifrado
- def main():
- done = False
- while done == False:
- print "\n *------------------------------------*\n"
- print " Encriptar = 0 \n Desencriptar = 1 \n Salir = 2\n"
- op = int(raw_input("Que tarea vamos a ejecutar: "))
- if op >= 2:
- done = True
- else:
- clave = str(raw_input("\nIngresa una palabra clave: "))#"M4ST3R"
- if op == 1:
- desencriptar(clave)
- else:
- encriptar(clave)
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement