Nuestro equipo de expertos pasados varios días de investigación y de juntar de información, dieron con la solución, nuestro deseo es que te resulte útil para tu trabajo.
Ejemplo: playfair cipher python
key=input("Enter key")
key=key.replace(" ","")
key=key.upper()defmatrix(x,y,initial):return[[initial for i inrange(x)]for j inrange(y)]
result=list()for c in key:#storing keyif c notin result:if c=='J':
result.append('I')else:
result.append(c)
flag=0for i inrange(65,91):#storing other characterifchr(i)notin result:if i==73andchr(74)notin result:
result.append("I")
flag=1elif flag==0and i==73or i==74:passelse:
result.append(chr(i))
k=0
my_matrix=matrix(5,5,0)#initialize matrixfor i inrange(0,5):#making matrixfor j inrange(0,5):
my_matrix[i][j]=result[k]
k+=1deflocindex(c):#get location of each character
loc=list()if c=='J':
c='I'for i ,j inenumerate(my_matrix):for k,l inenumerate(j):if c==l:
loc.append(i)
loc.append(k)return loc
defencrypt():#Encryption
msg=str(input("ENTER MSG:"))
msg=msg.upper()
msg=msg.replace(" ","")
i=0for s inrange(0,len(msg)+1,2):if s<len(msg)-1:if msg[s]==msg[s+1]:
msg=msg[:s+1]+'X'+msg[s+1:]iflen(msg)%2!=0:
msg=msg[:]+'X'print("CIPHER TEXT:",end=' ')while i<len(msg):
loc=list()
loc=locindex(msg[i])
loc1=list()
loc1=locindex(msg[i+1])if loc[1]==loc1[1]:print("".format(my_matrix[(loc[0]+1)%5][loc[1]],my_matrix[(loc1[0]+1)%5][loc1[1]]),end=' ')elif loc[0]==loc1[0]:print("".format(my_matrix[loc[0]][(loc[1]+1)%5],my_matrix[loc1[0]][(loc1[1]+1)%5]),end=' ')else:print("".format(my_matrix[loc[0]][loc1[1]],my_matrix[loc1[0]][loc[1]]),end=' ')
i=i+2defdecrypt():#decryption
msg=str(input("ENTER CIPHER TEXT:"))
msg=msg.upper()
msg=msg.replace(" ","")print("PLAIN TEXT:",end=' ')
i=0while i<len(msg):
loc=list()
loc=locindex(msg[i])
loc1=list()
loc1=locindex(msg[i+1])if loc[1]==loc1[1]:print("".format(my_matrix[(loc[0]-1)%5][loc[1]],my_matrix[(loc1[0]-1)%5][loc1[1]]),end=' ')elif loc[0]==loc1[0]:print("".format(my_matrix[loc[0]][(loc[1]-1)%5],my_matrix[loc1[0]][(loc1[1]-1)%5]),end=' ')else:print("".format(my_matrix[loc[0]][loc1[1]],my_matrix[loc1[0]][loc[1]]),end=' ')
i=i+2while(1):
choice=int(input("n 1.Encryption n 2.Decryption: n 3.EXIT"))if choice==1:
encrypt()elif choice==2:
decrypt()elif choice==3:
exit()else:print("Choose correct choice")
Si para ti ha resultado de provecho este artículo, agradeceríamos que lo compartas con el resto programadores y nos ayudes a extender este contenido.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)