Código de Python - Encriptado básico desde Python

Imágen de perfil

Encriptado básico desde Pythongráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 21 de Septiembre del 2015 por Guajardo
3.060 visualizaciones desde el 21 de Septiembre del 2015. Una media de 49 por semana
Este código encripta y desencripta un texto utilizando una clave indicada por el usuario.

Captura

Requerimientos

Python 2.7

1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 21 de Septiembre del 2015gráfica de visualizaciones de la versión: 1
3.061 visualizaciones desde el 21 de Septiembre del 2015. Una media de 49 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#coding: utf-8
print "Encriptado Andrax1990"
texto =  "hola Andrax1990"
opcion= 0
opcion = int(raw_input("ecriptar= 1 , desencriptar= 2: ") )
abc= ['!','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','|'] #45
rpas =len(abc) #contamos la cantidad de letras de abc
 
#funcion para inverti cadena
def invertir(var):
        return var[::-1]
 
#funcion de resta
def restar(x,y):
		if x>y:
			return x-y
		else:
			return y-x
 
#funcion para eliminar los espacios
def sin(txt):
		nuevo=""
		for x in txt:
	    		if x=='|':
 	      			nuevo = nuevo+' '
 	    		else:
        			nuevo = nuevo+x
   		return nuevo
 
def espacio(texto):
		espacios= ""
		for x in texto:
	    		if x==' ':
 	      			espacios = espacios+'|'
 	    		else:
        			espacios = espacios+x.lower() #convertimos a minusculas 
   		return espacios
 
 #opcion de encriptacion
if opcion == 1:
	print"opcion de encriptacion"
	mensaje=""
	clave =""
 
	mensaje = raw_input("introduzca mensaje a ecriptar: ")
	clave = raw_input("introduzca palabra clave: ")
	n =   len(mensaje)  #cuento la cantidad de caracteres 
	posicion= 0
	ab=clave[0]
	index = abc.index(ab)
	encoding= ""
	suma = 0
	espacios=""
	espacios=espacio(mensaje)
 
	for x in espacios:
   		for y in range(rpas):
   			li = 0
     			if x==abc[y]:
     				li=y+index
     			  	if li <= rpas:
     					encoding =encoding+abc[li]
 
     		     		else       :
     		     	 		suma= restar(rpas,li)
     		     	 		encoding =encoding+abc[suma]+'$'
     		     	 		suma = 0
	#print encoding
	print "mensaje cifrado: ",invertir(encoding)
	print "su clave es:", clave
if opcion == 2:
 
	print"opcion de desencriptacion"
	mensaje=""
	mensaje= ''
	mensaje = raw_input("Introduzca mensaje Encriptado: ")
	clave = raw_input("Introduzca clave: ")
 	ab=clave[0] #seleccionamos la letra de la posicion 0 
	index = abc.index(ab)  #usamos nuestra letra la ver en donde cae en la lista de abc
 
	contador = 0
	decoding= ''
	letra= ''
	tx= ''
	suma = 0
	rango =   len(mensaje) #cuento la cantidad de caracteres
 
	w=0
	while w < rango:
			letra=mensaje[w]
	 		if letra =='$':    #cuando esta opcion se cumple restamos 44
	 				incr = w+1
	 				li = 0
					tx=mensaje[incr]
					posicion= w
					for y in range(rpas):
						if tx == abc[y]:
							li=restar(index,y)
							#print index, " - ", y,"=",li
							suma=restar(rpas,li)
							decoding =decoding+abc[suma]
							w+=1
			else:
	 				li = 0
					tx=mensaje[w]
					posicion= w
					for s in range(rpas):
						if tx == abc[s]:
							li= restar(s,index)
							decoding =decoding+abc[li]
							#print posicion
 			w+=1
	#print decoding
	mensaje =invertir(decoding)
	#print mensaje
 	print "mensaje abierto: ",sin(mensaje)



Comentarios sobre la versión: 1 (1)

Imágen de perfil
xve
21 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3282