四个正方形(四方密码)
题目:
明文:cajfedlarc
hint:两个key是该密码创始人的姓名
script:
import string
global char, ddq, k, kk, z, zz
s = "cajfedlarc"
k1 = "Felix".lower()
print(k1)
k2 = "Delastelle".lower()
char = "abcdefghijklmnoprstuvwxyz"
ddq = {char: index for char, index in enumerate(char)}
print(ddq)
# print(char)
k1 += char
k2 += char
print(k1)
kk1 = ""
for i in range(len(k1)):
if k1[i] not in kk1 and k1[i] != "q":
kk1 += k1[i]
print(kk1)
kk2 = ""
for i in range(len(k2)):
if k2[i] not in kk2 and k2[i] != "q":
kk2 += k2[i]
print(kk2)
def cry(s, k1, k2):
flag = ""
k = 0
z = 0
kk = 0
zz = 0
for i in range(0, len(s), 2):
print(s[i], s[i + 1])
for j in ddq:
# print(j)
if s[i + 1] == ddq[j]:
k = j // 5
kk = j % 5
print(j)
if s[i] == ddq[j]:
z = j // 5
zz = j % 5
print(j)
flag += k1[z * 5 + kk] + k2[k * 5 + zz]
print(z, kk, k1[z * 5 + kk])
print(k, zz, k2[k * 5 + zz])
print("flag>>>", flag)
cry(s, kk1, kk2)