培根密码加解密(Python)

article/2025/10/12 11:02:30

原理

加密时,明文中的每个字母会根据下面转换成5个字母;
解密时,密文中的每5个字母为一组转换成对应的1个字母;
在这里插入图片描述

Python代码如下:

CODE_TABLE = { #培根字典'aaaaa':'a','aaaab':'b','aaaba':'c','aaabb':'d','aabaa':'e','aabab':'f','aabba':'g','aabbb':'h','abaaa':'i','abaab':'j','ababa':'k','ababb':'l','abbaa':'m','abbab':'n','abbba':'o','abbbb':'p','baaaa':'q','baaab':'r','baaba':'s','baabb':'t','babaa':'u','babab':'v','babba':'w','babbb':'x','bbaaa':'y','bbaab':'z'
}
choose = input('Input E(encode) or D(decode)\n\t') #输入ED,选择加密或解密
if choose == 'E':str = input('input your string:\n\t').lower()listStr = ''for i in str:if i in CODE_TABLE.values():# 将键、值各化为一个列表,取出i在value的位置后根据下标找到对应的键listStr += list(CODE_TABLE.keys())[list(CODE_TABLE.values()).index(i)]print(listStr)print(listStr.upper())#大写输出
if choose == 'D':bacon = input("input your bacon:\n\t").lower()listBacon = []for i in range(0,len(bacon),5):#5位为一组做一个列表listBacon.append(bacon[i:i+5])for i in range(len(listBacon)):#根据下标找值listBacon[i] = CODE_TABLE[listBacon[i]]print(''.join(listBacon))print(''.join(listBacon).upper())

例示:

在这里插入图片描述在这里插入图片描述


http://chatgpt.dhexx.cn/article/9x8ye9GM.shtml

相关文章

CTF密码学-加解密总结

零基础学黑客,搜索公众号:白帽子左一密码学基本简介 密码学(在西欧语文中,源于希腊语krypts“隐藏的”,和grphein“书写”)是研究如何隐密地传递信息的学科。 在现代特别指对信息以及其传输的数学性研究&…

密码及编码

1. 密码 古典密码学 凯撒密码(Caeser):位移密码 特殊形式(加解密相同,因为26个字母是循环的):ROT13 栅栏密码:分组密码。 弗吉尼亚 现代密码学 对称加密算法:使用加密用过的秘钥及相同算法的…

CTF-密码学-培根密码

题目:bacon bAcon iS a MEaT prodUcT prePared frOm a pig and UsuALLy cUReD. 读题:翻译过来意思是培根 审题:联想到培根密码 解题:培根密码就是大写变A小写变B import string timu"bAcon iS a MEaT prodUcT prePared frOm…

【无标题】简单的培根密码解密

第一题 题目AABBBAABAAABABAABABAABBAB BABAAABBABBAAAAAAABB 此题由大写字母AB组成,不难看出这可以用培根密码转换器进行解密得出flag 解密得出flag{HELLO WORD}

CTF-Show密码学【摩斯码、培根密码】

萌新 密码33 一、题目信息 题目名称:我想吃培根题目描述:-- — .-. … . …–.- … … …–.- -.-. — — .-… …–.- -… …- - …–.- -… .- -.-. — -. …–.- … … …–.- -.-. — — .-… . .-. …–.- – – -… -… – -… – -… – – – -…

CTF-培根密码

CTF学习上的一些疑点和解疑 主题:培根密码的随意性 反正我是觉得挺离谱的 序章 CTF学习上的一些疑点和解疑前言:培根小贴士一、培根密码是什么?二、解答1.题目2.解密顺序 总结还没听懂的我给大家展现一些例子: 前言:…

密码学笔记——培根密码

培根密码,培根所用的密码是一种本质上用二进制数设计的,没有用通常的0和1来表示,而是采用a和b 一、培根密码加密方式 第一种方式: A aaaaa B aaaab C aaaba D aaabb E aabaa F aabab G aabba H aabbb I abaaa J abaab K ababa L ababb M abbaa N abbab O abbba P abb…

培根密码(Bacon)——python解密

简介 培根密码,又名倍康尼密码(英语:Bacon’s cipher)是由法兰西斯培根发明的一种隐写术。 特点: 培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上。培根密码所包含的信息可以和用于承载…

CTF-bacon(培根密码)

一、题目 培根密码实际上就是一种替换密码,根据所给表一一对应转换即可加密解密 。它的特殊之处在于:可以通过不明显的特征来隐藏密码信息,比如大小写、正斜体等,只要两个不同的属性,密码即可隐藏。 二、解题思路 …

【密码学 | CTF】培根密码

原理简述 加密方式有两种,但说实话我没看懂第二种的;i-j和u-v是怎么加密的呢?一解密岂不是乱了? 但解密用第一种方式就行了,每五个切割,对照字典解密即可,难度很小 def 培根密码_解密():培根密…

XML文档操作

文章目录 [toc] XML概述代码示例 CSS格式化XML为什么要用CSS样式表: 代码示例:代码详解: XSLT转化XMLXSLT简介:代码示例代码详解:正确的样式表声明从XML里提取数据节点匹配 DOM解析XMLXML DOM简介节点 代码示例代码详解…

XML文件的DOCTYPE定义

2019独角兽企业重金招聘Python工程师标准>>> DOCTYPE的常用声明&#xff1a;按照 HTML 4.01 XHTML 1.0 XHTML 1.1 列表如下&#xff0c;错误的DOCTYPE HTML PUBLIC反而会导致页面解析错误。HTML 4.01规范分为&#xff1a;Strict, Transitional, Frameset <!DO…

XML的内容

XML简介&#xff1a; XML是跨平台的语言&#xff0c;它不需要安装任何环境的语言&#xff0c; 它是所有语言所共有的&#xff0c;单独的语言&#xff0c;并且不是所有语言内部的。 它是让所有语言去和xml交互 。 注意&#xff1a; html前身是xml <></>&#xff0…

xml的介绍、xml的示例文件、xml语法介绍

xml的介绍 xml是可扩展的标记性语言 xml的主要作用&#xff1a; 1.用来保存数据&#xff0c;而且这些数据具有自我描述性 2.它可以作为项目或者模块的配置文件 3.还可以做网络传输的格式(现在以JSON为主) xml的示例文件 先创建一个文件 文件命名为xxx.xml 在xml文件中书写内…

XML文件简介

XML基本概念 单独的数据,它的含义很模糊。所以数据+含义,适用于传输数据,而不是显示数据(HTML)XML(eXtensible Markup Language),可扩展标记语言:意义+数据标签可自定义,具有自描述性纯文本文件,跨系统/平台/语言W3C标准(1998年,发布XML1.0,包括几乎所以的Unicode…

XML(一)

一&#xff0c;XML简介 XML&#xff08;EXtensible Markup Language&#xff09;&#xff1a;可扩展标记语言 XML 是一种很像HTML的标记语言。 XML 的设计宗旨是传输数据&#xff0c;而不是显示数据。 XML 标签没有被预定义。您需要自行定义标签。 XML 是 W3C 的推荐标准。…

XML文档基础及其解析

一、XML1. 概念&#xff1a;Extensible Markup Language 可扩展标记语言* 可扩展&#xff1a;标签可以自定义的。<user>、<hobby>* 功能1. 存储数据2. 在网络中传输2. XML和HTML的区别1. xml标签都是自定义的&#xff0c;html标签使预定于的2. xml的语言严格&#…

xml文件介绍

简介&#xff1a;本文主要讲解xml文件的格式&#xff0c;用途等等&#xff1b; xml概述 1.1初步认识一下xml 一段xml格式&#xff1a; 1.2什么是xml xml是传输和存储数据 html是展示数据 写一段xml文件&#xff0c;文件后缀为xml格式 所有内容必须需要一个根节点/根标签…

JavaWeb1-3学习总结(BootStrap,xml,tomcat,servlet)

1.1 BootStrap 1、概念 一个前端开发的框架&#xff0c;Bootstrap&#xff0c;来自 Twitter&#xff0c;是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的&#xff0c;它简洁灵活&#xff0c;使得 Web 开发更加快捷。 2、好处 定义了很多的css样式和j…

全面理解xml文件

XML XML相关概念 概述&#xff1a;Extensible Markup Language 可扩展标记语言 功能 ​ 存储数据 配置文件在网络中传输 xml和html的区别 XML标签都是自定义的&#xff0c;hmtl标签是预先定义的xml的语法严格&#xff0c;html语法松散XML是存储数据的&#xff0c;html是展示…