当前位置: 首页 > news >正文

Atbash密码和摩斯密码

一、 Atbash密码

Atbash Cipher是一种简单的替换密码,与凯撒相类似,区别在于Atbash密码使用的一般是前后字母互换。例如:

  • ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • ZYXWVUTSRQPONMLKJIHGFEDCBA
    同样的可以利用ASCII表转回进行解密或者词频分析进行破解。
    例题:wl blf pmld zgyzhs kzhhdliw
    对此进行写加密解密算法,只需要注意这里用的是ord(Z) - 当前字母的码值然后加上ord(A),于是可以依照此思路写出加密解密算法。
点击查看代码
#加密
def atbash(text):#ord(A) <--> ord(Z)#ord(B) <--> ord(Y)#0  <-->   25#1  <-->  24#ord(Z) - ord(X) + ord(A)result = ""for char in text:if char.isalpha():# 处理大写字母if char.isupper():result += chr(ord("Z") - ord(char) + ord("A"))# 处理小写字母else:result += chr(ord("z") - ord(char) + ord("a"))else:# 非字母字符保持不变result += charreturn result#解密
def atbash_decrypt(text):return atbash(text)while True:print("1.加密")print("2.解密")print("3.退出")choice = input("请输入你的选择:")if choice == "1":text = input("请输入要加密的文本:")print("加密后的文本为:" + atbash(text))elif choice == "2":text = input("请输入要解密的文本:")print("解密后的文本为:" + atbash_decrypt(text))elif choice == "3":breakelse:print("输入错误,请重新输入")

二、摩斯密码

摩斯密码又叫摩尔斯电码,是由美国人在1836年发明的一种通过时断,以及不同的排列顺序来表达不同英文字母、数字和标点符号的信息代码,主要由点、划、字符间的停顿、单词间的停顿和句子之间的停顿构成。
莫斯码表如下所示,用python字典进行展示。

点击查看代码
MOSS_PASSWORD = {'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': '--..','1': '.----', '2': '..---', '3': '...--','4': '....-', '5': '.....', '6': '-....','7': '--...', '8': '---..', '9': '----.','0': '-----', ', ': '--..--', '.': '.-.-.-','?': '..--..', '/': '-..-.', '-': '-....-','(': '-.--.', ')': '-.--.-'}
摩斯密码有时也会用01、AB等不同的符号表示。所以当我们观察到如果在一段语句中有着明显的间隔时,就需要考虑使用摩斯密码了。接下来将展示摩斯密码的编程。
点击查看代码
#创建密码本
MOSS_PASSWORD = {'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': '--..','1': '.----', '2': '..---', '3': '...--','4': '....-', '5': '.....', '6': '-....','7': '--...', '8': '---..', '9': '----.','0': '-----', ', ': '--..--', '.': '.-.-.-','?': '..--..', '/': '-..-.', '-': '-....-','(': '-.--.', ')': '-.--.-'}MOSS_key={".":'0',"-":'1'
}#加密
def moss_encrypt(text):result = ""content = ""for char in text:if char.isalpha() or char in MOSS_PASSWORD.keys():result += MOSS_PASSWORD[char.upper()] + " "else:result += charreturn result#解密
def moss_decrypt(text):result = ""for char in text.split():if char in MOSS_PASSWORD.values():result += list(MOSS_PASSWORD.keys())[list(MOSS_PASSWORD.values()).index(char)]else:result += charreturn resultwhile True:print("1.加密")print("2.解密")print("3.退出")choice = input("请输入你的选择:")if choice == "1":text = input("请输入要加密的文本:")print("加密后的文本为:" + moss_encrypt(text))elif choice == "2":text = input("请输入要解密的文本:")print("解密后的文本为:" + moss_decrypt(text))elif choice == "3":breakelse:print("输入错误,请重新输入")
http://www.hskmm.com/?act=detail&tid=25132

相关文章:

  • Redis 中如何保证缓存与数据库的内容一致性?
  • Payload CMS:开发者优先的Next.js原生开源解决优秀的方案,重新定义无头内容管理
  • 第一次写博客
  • 07. 自定义组件
  • python语法记录
  • 2025 年储罐厂家推荐最新公司权威排行榜榜单发布,深度解析衬四氟储罐 / 硫酸储罐 / 盐酸储罐工厂选购指南
  • UnicodeEncodeError: locale codec cant encode character \u5e74 in position 2: encoding error
  • 2025 年生物除臭设备厂家最新推荐排行榜:覆盖污水处理厂 / 垃圾中转站等多场景,助力企业精准挑选优质设备
  • 2025 年球墨铸铁管公司:重庆南恩物资全品类管材供应与市政工程适配解决方案解析
  • 2025生物除臭设备厂家最新品牌企业推荐排行榜揭晓:印染厂污水,食品厂污水,污水处理厂,污水泵站,污水站,餐厨垃圾,屠宰场,厨余垃圾生物除臭设备公司推荐
  • 2025 工业加热器选型必看:六大加热器实力厂家深度推荐,覆盖多场景加热设备解决方案
  • YOLO模型部署
  • 从理念到沙盘:用悟空博弈模拟器点亮人机共治的曙光
  • 深入解析:Redis事务详解:原理、使用与注意事项
  • phone num
  • Perplexity发布搜索API,驱动下一代AI应用开发
  • PWN手的成长之路-09-SWPUCTF 2023 秋季新生赛Shellcode
  • 20251005 总结
  • OKR1
  • 2025 年装盒机制造厂 TOP 企业品牌推荐排行榜,自动化 / 喷胶 / 牙膏 / 手机壳 / 3C 数码 / 内外盒 / 面膜 / 电子产品 / 玩具 / 日用品装盒机推荐这十家公司!
  • 英语_阅读_Chinas Spring Festival_待读
  • 2025 年自动包装生产线 TOP 企业品牌推荐排行榜!食品行业 / 日化产品 / 智能化 / 小型 / 多功能集成 / 柔性 / 后道 / 高速自动包装生产线推荐!
  • 题解:AT_arc181_e [ARC181E] Min and Max at the edge
  • 酵母单杂交实验:解密 “转录因子 - DNA 互作” 的核心工具
  • api调用钉钉群机器人发信息 - 规格严格
  • 2025 年氢氧化铝生产厂家 TOP 品牌榜单来袭,阻燃,高白,酸融,导热,超细,微粉级,低粘度,灌封胶用,覆铜板用氢氧化铝公司推荐!
  • 飞算 JavaAI 赋能老工程重构:破旧立新的高效利器
  • P14139 题解
  • AI 自我理解边界
  • 2025钢球厂家最新企业品牌推荐排行榜,轴承钢球,不锈钢球,碳钢球,精密钢球,440C不锈钢球推荐这十家公司!