转轮机加密

根据题目提示转轮机加密
轮转加密的原理:
image
比如第一个秘钥为2代表第二行,第一个密文为N,代表这从N开始往后排
KPBELNACZDTRXMJQOYHGVSFUWI-->NACZDTRXMJQOYHGVSFUWIKPBEL

写一个脚本,将所有的字母旋转回来

点击查看代码
wheels = [
    "ZWAXJGDLUBVIQHKYPNTCRMOSFE",
    "KPBELNACZDTRXMJQOYHGVSFUWI",
    "BDMAIZVRNSJUWFHTEQGYXPLOCK",
    "RPLNDVHGFCUKTEBSXQYIZMJWAO",
    "IHFRLABEUOTSGJVDKCPMNZQWXY",
    "AMKGHIWPNYCJBFZDRUSLOQXVET",
    "GWTHSPYBXIZULVKMRAFDCEONJQ",
    "NOZUTWDCVRJLXKISEFAPMYGHBQ",
    "XPLTDSRFHENYVUBMCQWAOIKZGJ",
    "UDNAJFBOWTGVRSCZQKELMXYIHP", 
    "MNBVCXZQWERTPOIUYALSKDJFHG",
    "LVNCMXZPQOWEIURYTASBKJDFHG",
    "JZQAWSXCDERFVBGTYHNUMKILOP"
]
key_order = [2, 3, 7, 5, 13, 12, 9, 1, 8, 10, 4, 11, 6]
cipher = "NFQKSEVOQOFNP"
print("旋转后的转轮:")
print("-" * 40)
for idx, wheel_num in enumerate(key_order):
    wheel_index = wheel_num - 1
    cipher_char = cipher[idx]
    pos = wheels[wheel_index].index(cipher_char)
    rotated = wheels[wheel_index][pos:] + wheels[wheel_index][:pos]
    print(f"密钥{wheel_num:2d}: {rotated}")

image

在将每行第一个字母连起来,寻找有意义的那一列
image

flag要小写

posted @ 2026-03-09 23:19  大雪深埋  阅读(12)  评论(0)    收藏  举报
// 正常配置 window.cnblogsConfig = { links: {}, }; // 友链页配置 window.cnblogsConfig.links.page = [ { title: '友情链接', // 标题 icon: 'icon-lianjie', // iconfont style: 'color: #a78bfa;', links: [ { name: '2_haowen_V', // 昵称 introduction: 'IT技术类博客', // 简介 avatar: 'https://pic.cnblogs.com/face/1334215/20180504110551.png', // 头像 url: 'https://www.hehaowen.com.cn/' // 友链地址 }, ] }, ];