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

培根密码(Bacon)——python解密简介培根密码 又名倍康尼密码 英语 Bacon scipher 是由法兰西斯 培根发明的一种隐写术 特点 培根密码本质上是将二进制信息通过样式的区别 加在了正常书写之上 培根密码所包含的信息可以和用于承载其的文章完全无关 培根密码实际上就是一种替换密码 根据所给表一一对应转换即可加密解密 它的特殊之处在于 可以通过不明显的特征来隐藏密码信息 比如大小写 正斜体等 只要两个不同的属性 密码

简介

培根密码,又名倍康尼密码(英语:Bacon’s cipher)是由法兰西斯·培根发明的一种隐写术。

特点
培根密码本质上是将二进制信息通过样式的区别,加在了正常书写之上。培根密码所包含的信息可以和用于承载其的文章完全无关。培根密码实际上就是一种替换密码,根据所给表一一对应转换即可加密解密 。它的特殊之处在于:可以通过不明显的特征来隐藏密码信息,比如大小写、正斜体等,只要两个不同的属性,密码即可隐藏。

实现

代码

函数

letters1 = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ] letters2 = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ] cipher1 = [ "aaaaa", "aaaab", "aaaba", "aaabb", "aabaa", "aabab", "aabba", "aabbb", "abaaa", "abaab", "ababa", "ababb", "abbaa", "abbab", "abbba", "abbbb", "baaaa", "baaab", "baaba", "baabb", "babaa", "babab", "babba", "babbb", "bbaaa", "bbaab", ] cipher2 = [ "AAAAA", "AAAAB", "AAABA", "AAABB", "AABAA", "AABAB", "AABBA", "AABBB", "ABAAA", "ABAAA", "ABAAB", "ABABA", "ABABB", "ABBAA", "ABBAB", "ABBBA", "ABBBB", "BAAAA", "BAAAB", "BAABA", "BAABB", "BAABB", "BABAA", "BABAB", "BABBA", "BABBB", ] def bacon1(string): lists = [] # 分割,五个一组 for i in range(0, len(string), 5): lists.append(string[i:i+5]) # print(lists) # 循环匹配,得到下标,对应下标即可 for i in range(0, len(lists)): for j in range(0, 26): if lists[i] == cipher1[j]: # print(j) print(letters1[j], end="") print("") def bacon2(string): lists = [] # 分割,五个一组 for i in range(0, len(string), 5): lists.append(string[i:i+5]) # print(lists) # 循环匹配,得到下标,对应下标即可 for i in range(0, len(lists)): for j in range(0, 26): if lists[i] == cipher2[j]: # print(j) print(letters2[j], end="") print("") 

主函数

import Bacon if __name__ == "__main__": Bacon.bacon1("aababababbaaaaaaabba") Bacon.bacon2("AABABABABAAAAAAAABBA") 

在这里插入图片描述

总结

这个我很少遇到,不太常见。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206159.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午4:20
下一篇 2026年3月19日 下午4:20


相关推荐

  • 淘宝帝国是如何创建的连载04

    淘宝帝国是如何创建的连载04第四部分 淘宝技术核心技术员 风云人物列传 正明 集团核心系统高级研究员正明是集团核心系统研发负责人 高级研究员 为 2012 年 大淘宝技术委员会 会长 毕业于国防科学技术大学计算机专业 工学博士 曾任 TelTel 首席科学家 国防科技大学计算机学院副教授 RedHat 内核开发者 LVS 开源软件创始人 ChinaCluster 的共同创办者 子柳 首先恭喜你当选今年 2012 年 淘宝技

    2026年3月26日
    2
  • 一篇文章完全搞懂正则化(Regularization)

    一篇文章完全搞懂正则化(Regularization)个人的原创笔记 欢迎 dalao 们指正错误 什么是正则化 Regularizati 中文翻译过来可以称为正则化 或者是规范化 什么是规则 闭卷考试中不能查书 这就是规则 一个限制 同理 在这里 规则化就是说给损失函数加上一些限制 通过这种规则去规范他们再接下来的循环迭代中 不要自我膨胀 为什么需要正则化 我们首先回顾一下模型训练的过程 模型参数的训练实际上就是一个不断迭代 寻找到

    2026年3月16日
    2
  • Python 编程的最好搭档—VSCode 详细指南

    Python 编程的最好搭档—VSCode 详细指南刚学 Python 的同学可能会觉得每次写 Python 的时候都得打开 Cmd 有点烦躁 直接上手 Pycharm 的同学可能会觉得这软件太笨重了 晦涩难用 尽管对于老手而言 Pycharm 用起来确实非常爽 那么有没有省去打开 CMD 的步骤 又能弥补 Pycharm 笨重的特点的软件呢 答案是 VSCode 诞生于 2015 年的 VSCode 编辑器 现在可以说是目前最强的编辑器之一 在微软的背书下 比各位历史悠久的

    2026年3月27日
    2
  • spring容器初始化过程中出现异常_spring容器什么时候启动

    spring容器初始化过程中出现异常_spring容器什么时候启动前言我们知道,spring的启动其实就是容器的启动,而一般情况下,容器指的其实就是上下文ApplicationContext。AbstractApplicationContext作为整个A

    2022年8月17日
    10
  • ChatGPT Go 和 Plus 会员的区别,以及国内如何升级 GPT Go会员

    ChatGPT Go 和 Plus 会员的区别,以及国内如何升级 GPT Go会员

    2026年3月16日
    1
  • 如何快速查看颜色十六进制

    如何快速查看颜色十六进制1 Ctrl Alt A2 Ctrl C

    2026年3月18日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号