【密码学 | CTF】培根密码

原理简述

加密方式有两种,但说实话我没看懂第二种的;i-j和u-v是怎么加密的呢?一解密岂不是乱了?

但解密用第一种方式就行了,每五个切割,对照字典解密即可,难度很小

def 培根密码_解密():

    培根密码_字典_大写 = {
        'A':"AAAAA","AAAAA":'A',
        'B':"AAAAB",'AAAAB':'B',
        'C':"AAABA",'AAABA':'C',
        'D':"AAABB",'AAABB':'D',
        'E':"AABAA",'AABAA':'E',
        'F':"AABAB",'AABAB':'F',
        'G':'AABBA','AABBA':'G',
        'H':"AABBB",'AABBB':"H",
        'I':"ABAAA",'ABAAA':'I',
        'J':"ABAAB",'ABAAB':'J',
        'K':"ABABA",'ABABA':'K',
        'L':"ABABB",'ABABB':'L',
        'M':"ABBAA",'ABBAA':'M',
        'N':"ABBAB",'ABBAB':'N',
        'O':"ABBBA",'ABBBA':'O',
        'P':"ABBBB",'ABBBB':'P',
        'Q':'BAAAA','BAAAA':'Q',
        'R':'BAAAB','BAAAB':'R',
        'S':'BAABA','BAABA':'S',
        'T':'BAABB','BAABB':'T',
        'U':'BABAA','BABAA':'U',
        'V':'BABAB','BABAB':'V',
        'W':"BABBA",'BABBA':'W',
        'X':'BABBB','BABBB':'X',
        'Y':'BBAAA','BBAAA':'Y',
        'Z':'BBAAB','BBAAB':'Z'
    }

    密文 = input("请输入密文:")

    list = []
    while True:
        list.append(密文[0:5])
        密文 = 密文.replace(密文[0:5],'',1)
        if 密文 == '':
            break

    结果 = []
    for i in list:
        结果.append(培根密码_字典_大写[i])
        
    print("培根密码解密后:","".join(结果).lower())

培根密码_解密()

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星盾网安

能花钱买到的知识,都不贵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值