攻防世界 转轮机加密

┭┮﹏┭┮今天无聊去看看密码学,
然后写的脚本一大堆错,自闭了一会。o((>ω< ))o

转轮机加密
也就是wheel cipher
谷歌一波,,
攻防世界 转轮机加密_第1张图片

自己想想一个轮子,带有很多字母,在那里转啊转,
就很清楚了,自己做个出来看看最好理解了。

就是
数字密匙对应的行数,所对应的字母密匙的位置及其后面的字符串,拉到原来字符串的第一位,
在它之前的就拉到后面去,
手动提取更快哦!
想想就ok。

给出做的脚本:

# -*- coding:utf-8 -*-
import re

text=""


with open("wheelcipher.txt","r",encoding="utf-8") as f:
    text=f.read()

#print (text) 查看是否读取完整

code=[]#将字符提取出来放在这里

code=re.findall(r"<(.*)<",text)

for i in range(len(code)):
    code[i]=code[i].strip()
print(code)
codetext="NFQKSEVOQOFNP"

codenum="2,3,7,5,13,12,9,1,8,10,4,11,6"
codenum=codenum.split(",")#把这些数字都弄到一个里面去
#print(codenum)

a=0
print("解密后的:")
for i in codenum:
    index=code[int(i)-1].index(codetext[a])
    a=a+1
    code[int(i)-1]=code[int(i)-1][index:]+code[int(i)-1][:index]
    print(code[int(i)-1])

#完成了变形了

print("下面是每一列的")

for i in range(len(code[0])):
      str=""
      print("第{}列的是:".format(i),end="")
      for j in codenum:
          str+=code[int(j)-1][i]
      print(str.lower())

看到一行读得懂的就是那个密码lalallaa
┭┮﹏┭┮

你可能感兴趣的:(攻防世界)