有大佬可以解答一下吗,急:(对称解密)

有大佬可以解答一下吗,急:
对称解密
用python编写程序实现如下功能:
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬程序接收用户输入密文(只能为大小写英文字母和阿拉伯数字),运行后输出原文。原文和密文的对应关系为:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬密文:cde...zabCDE...ZAB123...890‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
原文:abc...xyzABC...XYZ012...789‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬原文和密文字符一对一对应;
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬原文字符a到y、A到Y对应的密文字符依次为该字符按英文字母顺序的下数第2个,数字0到8对应的密文字符依次为按阿拉伯数字顺序的下1个,例如原文为a,密文为c,原文为C密文为E,原文为5,密文为6;
字符y、z、Y、Z、9,依次对于a、b、A、B、0;

intab = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
outtab = "cdefghijklmnopqrstuvwxyzabCDEFGHIJKLMNOPQRSTUVWXYZAB1234567890"
trantab = str.maketrans(intab, outtab)

str = "dDSD78h5sadDJ8HSK74d6SAJhks5SHSA"
print (str.translate(trantab))

fFUF89j6ucfFL9JUM85f7UCLjmu6UJUC

原理:
图片说明

方法一: 简单的字符串加密

"""
加密解密
maketrans 制作密码表
translate 加密
稳稳C9
"""

# 字典映射关系表 手工编写
e = {"a": "1", "b": "2", "c": "3"}

# 制作密码表
table = str.maketrans(e)

# 明文密码:可以通过input用户输入
s = "abc"

# 加密:将用户输入的明文面使用密码表 table 加密
s2 = s.translate(table)
print("明文:", s, "; 加密后的密文:", s2)

# --------------------------------------
e2 = {"1": "a", "2": "b", "3": "c"}
table2 = str.maketrans(e2)
# 解密
s3 = s2.translate(table2)
print("密码:", s2, "; 解密后:", s3)

================================================================

方法二:引入 python 中的字符数据模块

import string #引入python当中字符模块

#使用大小写字母+数字构建 转换关系 s1 转换前字符,s2 转换后字符,按照顺序对应
s1 = string.ascii_letters + string.digits
#打印 s1 得到的结果: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
s2 = string.digits + string.ascii_letters
#打印 s2 得到的结果: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

#通过zip()函数将2个表格映射再通过dict()封装成字典  也就是方法一的字典映射表了 之前是手工现在是通过模块操作
e = dict(zip(s1, s2))


# 下一步 制作 制作密码表
table = str.maketrans(e)

#后面代码就可以参考第一个方法 接着写了