四个正方形(四方密码)

题目:

明文: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)

posted @ 2025-05-12 13:36  lethe311  阅读(15)  评论(0)    收藏  举报