目录:
如果想要了解加密解密详细原理,即编码历史可以参考我的另外一篇专门讲字符串编码的在第三节:https://blog.csdn.net/weixin_44238683/article/details/105761646
这里就简单的描述下原理
一、加密解密原理
一、案例操作
第一个方法、手工创建密码表:
"""
加密解密
maketrans 制作密码表
translate 加密
要求:通常注册在软件中的用户,密码必须加密后保存
"""
# 字典映射关系表
e = {"a": "1", "b": "2", "c": "3"}
# 制作密码表
table = str.maketrans(e)
# 明文密码:
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中string创建密码表
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)
#后面代码就可以参考第一个方法 接着写了