古典之美-2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛复赛部分WP

古典之美-2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛复赛部分WP

栅栏密码+凯撒密码组合

题目

yzabliviiszwve{blbekmnehedtmltfxrhsxhn}

解题

没提示!
一上来凯撒密码,没解出来

位移 1: xyzakhuhhryvud{akadjlmdgdcslksewqgrwgm}
位移 2: wxyzjgtggqxutc{zjzciklcfcbrkjrdvpfqvfl}
位移 3: vwxyifsffpwtsb{yiybhjkbebaqjiqcuoepuek}
位移 4: uvwxhereeovsra{xhxagijadazpihpbtndotdj}
位移 5: tuvwgdqddnurqz{wgwzfhizczyohgoasmcnsci}
位移 6: stuvfcpccmtqpy{vfvyeghybyxngfnzrlbmrbh}
位移 7: rstuebobblspox{ueuxdfgxaxwmfemyqkalqag}
位移 8: qrstdanaakronw{tdtwcefwzwvledlxpjzkpzf}
位移 9: pqrsczmzzjqnmv{scsvbdevyvukdckwoiyjoye}
位移10: opqrbylyyipmlu{rbruacduxutjcbjvnhxinxd}
位移11: nopqaxkxxholkt{qaqtzbctwtsibaiumgwhmwc}
位移12: mnopzwjwwgnkjs{pzpsyabsvsrhazhtlfvglvb}
位移13: lmnoyvivvfmjir{oyorxzarurqgzygskeufkua}
位移14: klmnxuhuuelihq{nxnqwyzqtqpfyxfrjdtejtz}
位移15: jklmwtgttdkhgp{mwmpvxypspoexweqicsdisy}
位移16: ijklvsfsscjgfo{lvlouwxorondwvdphbrchrx}
位移17: hijkurerrbifen{kukntvwnqnmcvucogaqbgqw}
位移18: ghijtqdqqahedm{jtjmsuvmpmlbutbnfzpafpv}
位移19: fghispcppzgdcl{isilrtulolkatsameyozeou}
位移20: efghrobooyfcbk{hrhkqstknkjzsrzldxnydnt}
位移21: defgqnannxebaj{gqgjprsjmjiyrqykcwmxcms}
位移22: cdefpmzmmwdazi{fpfioqrilihxqpxjbvlwblr}
位移23: bcdeolyllvczyh{eoehnpqhkhgwpowiaukvakq}
位移24: abcdnkxkkubyxg{dndgmopgjgfvonvhztjuzjp}
位移25: zabcmjwjjtaxwf{cmcflnofifeunmugysityio}

试一下栅栏密码

第 1栏: yzabliviiszwve{blbekmnehedtmltfxrhsxhn}
第 2栏: yalvizv{lemeetlfrsh}zbiiswebbknhdmtxhxn
第 3栏: ybvsvbenemfhhzlizelkedlxsnaiiw{bmhttrx}
第 4栏: ylivlmelrhzisebndthnavz{eetfs}biwbkhmxx
第 5栏: yizbmdfxzvwlntxhaivbemrnbieehlh}ls{kets
第 6栏: yvveefhziekdxnai{mtr}bsbnmhlzlelsiwbhtx
第 7栏: yi{nlxzibethaslhfnbzbex}lwedrivkthvemms
第 8栏: yilerzsbdhazetsbwkmxlvmlhientnv{ef}ibhx
第 9栏: ysemhzzklnawmt}bvnfleexi{hrvbehildsibtx
第10栏: yzmfzwnxaverbehhl{esibdxvlthibmniel}skt
第11栏: ywehzvhsaeexb{dhlbtnilm}vblietikfsmxznr
第12栏: yvehzedna{t}bbmlllibtvefikximrsnhzeswhx
第13栏: yetz{mablbltlbfiexvkrimhinssexzhhwenvd}
第14栏: y{lzbtalfbbxlerikhvmsinxiehshnze}wdvtem
第15栏: ybfzlxabrbehlksimxvnhienih}sezdwtvmel{t
第16栏: ylrzbhaesbkxlmhinnve}ihiesdztwmvlet{fbx
第17栏: ybszexakhbmnln}ievhieidstzmwlvtef{xbrlh
第18栏: yehzknam}bnleihveiditsmzlwtvfex{rbhlsbx
第19栏: yk}zmanbelhievditimslztwfvxer{hbslxbhen
第20栏: ymznaebhleidvtimilstzfwxvreh{sbxlhbne}k
第21栏: ynzeahbelditvmilitsfzxwrvhes{xbhlnb}ekm
第22栏: yezhaebdltimvlitifsxzrwhvsex{hbnl}bekmn
第23栏: yhzeadbtlmilvtifixsrzhwsvxeh{nb}lbekmne
第24栏: yezdatbmllitvfixirshzswxvhen{}blbekmneh
第25栏: ydztamblltifvxirihsszxwhvne}{blbekmnehe
第26栏: ytzmalbtlfixvrihissxzhwnv}e{blbekmnehed
第27栏: ymzlatbflxirvhisixshznw}ve{blbekmnehedt
第28栏: ylztafbxlrihvsixihsnz}wve{blbekmnehedtm
第29栏: ytzfaxbrlhisvxihins}zwve{blbekmnehedtml
第30栏: yfzxarbhlsixvhini}szwve{blbekmnehedtmlt
第31栏: yxzrahbslxihvni}iszwve{blbekmnehedtmltf
第32栏: yrzhasbxlhinv}iiszwve{blbekmnehedtmltfx
第33栏: yhzsaxbhlni}viiszwve{blbekmnehedtmltfxr
第34栏: yszxahbnl}iviiszwve{blbekmnehedtmltfxrh
第35栏: yxzhanb}liviiszwve{blbekmnehedtmltfxrhs
第36栏: yhzna}bliviiszwve{blbekmnehedtmltfxrhsx
第37栏: ynz}abliviiszwve{blbekmnehedtmltfxrhsxh
第38栏: y}zabliviiszwve{blbekmnehedtmltfxrhsxhn
第39栏: yzabliviiszwve{blbekmnehedtmltfxrhsxhn}

第13栏: yetz{mablbltlbfiexvkrimhinssexzhhwenvd}有点意思
凯撒解密

位移 1: xdsy{lzakakskaehdwujqhlghmrrdwyggvdmuc}
位移 2: wcrx{kyzjzjrjzdgcvtipgkfglqqcvxffucltb}
位移 3: vbqw{jxyiyiqiycfbushofjefkppbuweetbksa}
位移 4: uapv{iwxhxhphxbeatrgneidejooatvddsajrz}
位移 5: tzou{hvwgwgogwadzsqfmdhcdinnzsuccrziqy}
位移 6: synt{guvfvfnfvzcyrpelcgbchmmyrtbbqyhpx}
位移 7: rxms{ftueuemeuybxqodkbfabgllxqsaapxgow}
位移 8: qwlr{estdtdldtxawpncjaezafkkwprzzowfnv}
位移 9: pvkq{drscsckcswzvombizdyzejjvoqyynvemu}
位移10: oujp{cqrbrbjbrvyunlahycxydiiunpxxmudlt}
位移11: ntio{bpqaqaiaquxtmkzgxbwxchhtmowwltcks}
位移12: mshn{aopzpzhzptwsljyfwavwbggslnvvksbjr}
位移13: lrgm{znoyoygyosvrkixevzuvaffrkmuujraiq}
位移14: kqfl{ymnxnxfxnruqjhwduytuzeeqjlttiqzhp}
位移15: jpek{xlmwmwewmqtpigvctxstyddpiksshpygo}
位移16: iodj{wklvlvdvlpsohfubswrsxccohjrrgoxfn}
位移17: hnci{vjkukucukorngetarvqrwbbngiqqfnwem}
位移18: gmbh{uijtjtbtjnqmfdszqupqvaamfhppemvdl}
位移19: flag{thisisasimplecryptopuzzlegoodluck}
位移20: ekzf{sghrhrzrhlokdbqxosnotyykdfnncktbj}
位移21: djye{rfgqgqyqgknjcapwnrmnsxxjcemmbjsai}
位移22: cixd{qefpfpxpfjmibzovmqlmrwwibdllairzh}
位移23: bhwc{pdeoeowoeilhaynulpklqvvhackkzhqyg}
位移24: agvb{ocdndnvndhkgzxmtkojkpuugzbjjygpxf}
位移25: zfua{nbcmcmumcgjfywlsjnijottfyaiixfowe}

位移19得到flag: flag{thisisasimplecryptopuzzlegoodluck}


解题脚本

import tkinter as tk
from tkinter import ttk, scrolledtext

def rail_fence_decrypt(ciphertext, rails):
    """栅栏密码解密函数"""
    decrypted = []
    for i in range(rails):
        decrypted.extend(ciphertext[i::rails])
    return ''.join(decrypted)

def caesar_decrypt(ciphertext, shift):
    """凯撒密码解密函数"""
    decrypted = []
    for char in ciphertext:
        if char.isalpha():
            base = ord('a') if char.islower() else ord('A')
            decrypted_char = chr((ord(char) - base - shift) % 26 + base)
            decrypted.append(decrypted_char)
        else:
            decrypted.append(char)
    return ''.join(decrypted)

def decrypt():
    """执行解密的主函数"""
    ciphertext = input_text.get("1.0", tk.END).strip()
    if not ciphertext:
        return
    
    result_text.delete('1.0', tk.END)
    method = method_var.get()
    
    if method == 'caesar':
        for shift in range(1, 26):
            decrypted = caesar_decrypt(ciphertext, shift)
            result_text.insert(tk.END, f"位移{shift:2d}: {decrypted}\n")
    elif method == 'rail':
        for rails in range(1, len(ciphertext)+1):
            decrypted = rail_fence_decrypt(ciphertext, rails)
            result_text.insert(tk.END, f"第{rails:2d}栏: {decrypted}\n")

# 创建主窗口
root = tk.Tk()
root.title("密码解密工具")

# 输入区域
input_label = ttk.Label(root, text="输入密文:")
input_label.grid(row=0, column=0, sticky=tk.W, padx=10, pady=5)

input_text = scrolledtext.ScrolledText(root, width=60, height=4)
input_text.grid(row=1, column=0, columnspan=2, padx=10, pady=5)

# 解密方式选择
method_var = tk.StringVar(value='caesar')

caesar_radio = ttk.Radiobutton(root, text="凯撒解密", variable=method_var, value='caesar')
caesar_radio.grid(row=2, column=0, sticky=tk.W, padx=10, pady=5)

rail_radio = ttk.Radiobutton(root, text="栅栏解密", variable=method_var, value='rail')
rail_radio.grid(row=2, column=1, sticky=tk.W, padx=10, pady=5)

# 解密按钮
decrypt_button = ttk.Button(root, text="开始解密", command=decrypt)
decrypt_button.grid(row=3, column=0, columnspan=2, pady=10)

# 结果展示
result_label = ttk.Label(root, text="解密结果:")
result_label.grid(row=4, column=0, sticky=tk.W, padx=10, pady=5)

result_text = scrolledtext.ScrolledText(root, width=60, height=25)
result_text.grid(row=5, column=0, columnspan=2, padx=10, pady=5)

root.mainloop()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值