Python-摩斯密码加密解密

2024-01-10 12:08

本文主要是介绍Python-摩斯密码加密解密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、摩斯密码表
    • [1]. encode.txt
    • [2]. decode.txt
  • 二、代码

前言

  • 密码表只写了英文字母数字,在百度的时候发现不同地方写的符号转换方式不大一样。
    你也可以在encode.txtdecode.txt中添加新的内容,
  • 如果没联网的话倒是可以用脚本跑,有联网的话还是用在线的吧

摩尔斯电码 百度百科

Morse Code Translator加密解密

American Morse Code

MorseCode 小狐狸FM

一、摩斯密码表

[1]. encode.txt

例:a加密后的结果为.-

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 --..
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 -----

[2]. decode.txt

例:.-解密后的结果为a

.- 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
.- 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

二、代码

在这里插入图片描述

在这里插入图片描述

# coding=utf-8
# 作者:小狐狸FM
# 功能:摩斯密码加密&解密
# 介绍:
# 1. 输入时,每个密文需要以空格间隔开
# 2. 密文的字符需要变更为小数点和减号
# 3. 未在密码表的密文解密时会被替换成空格
# 4. 解密的结果进行了小写处理encode_txt = "encode.txt" #加密表路径
decode_txt = "decode.txt" #解密表路径
def Exchange(target,char1,char2,char3):'''交换字符串中的两种字符char1,char2'''result = target.replace(char1,char3) #将char1替换成第三种字符result = result.replace(char2,char1)result = result.replace(char3, char2)return result
# print(Exchange("..--- ...-- ...--",".","-","*")) #将.和-进行互换,*用来临时存储def GetFile(path):'''读取文件,返回字典对象'''dic = dict()txt = ""with open(path, "r") as fp:  # 文件读取txt = fp.read()lis_data = list(set(txt.split("\n")))  # 去重、分割if "" in lis_data: #去空lis_data.remove("")for datas in lis_data:key, data = datas.split(" ")  # 分割dic[key] = datareturn dic
# print(GetFile(encode_txt))
# print(GetFile(decode_txt))def MorseDecode(target):'''摩斯密码解密'''lis_target = list(target.split(" ")) #分割dic = GetFile(decode_txt) #解密字典result = "" #解密结果for i in lis_target: #解密if i in dic.keys(): #存在该密文时result += dic[i]else:result += " "return result
# print(MorseDecode(".---- ..---"))def MorseEncode(target):'''摩斯密码加密'''dic = GetFile(encode_txt) #加密字典result = "" #加密结果for i in target: #遍历明文if i in dic.keys(): #存在该明文时result += " " + dic[i]else:result += " "return result
# print(MorseEncode("233"))if __name__ == '__main__': #主函数while True:print("==========================")print("        0. 退出          ")print("        1. 字符替换       ")print("        2. 摩斯加密       ")print("        3. 摩斯解密       ")print("==========================")flag = int(input("请选择:"))if flag==1: #字符替换target = input("字符串:")ch = input("需要替换的字符:")ch_replace = input("需要替换成什么:")print("替换结果:",target.replace(ch,ch_replace))elif flag==2: #摩斯加密target = input("字符串:")print("摩斯加密结果:",MorseEncode(target))elif flag==3: #摩斯解密target = input("字符串:")print("摩斯解密结果1:",MorseDecode(target).lower())print("摩斯解密结果2:",MorseDecode(Exchange(target,".","-","*")).lower())else:break

这篇关于Python-摩斯密码加密解密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590748

相关文章

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提