Python实现密钥密码(加解密)实例详解
2020-04-27 12:03
691 查看
密钥密码
''' 如密钥短语密码为: university -> universty 明文: abcdefghijklmnopqrstuvwxyz 密文:jklmopqwxzuniverstyabcdfgh '''
构造映射字典
# 构造映射 asc ---> crypt def dic(x): list_x =[] list_z = [] for i in x: list_x.append(ord(i)) for i in range(97,123): if i not in list_x: list_x.append(i) list_ = list_x[26-len(x)-1:] cr = list_+list_x[:26-len(list_)] for i in range(97,123): list_z.append(i) return dict(map(lambda x,y:[x,y],list_z,cr)) # 构造映射 crypt ---> asc def dic_2(x): list_x =[] list_z = [] for i in x: list_x.append(ord(i)) for i in range(97,123): if i not in list_x: list_x.append(i) list_ = list_x[26-len(x)-1:] cr = list_+list_x[:26-len(list_)] for i in range(97,123): list_z.append(i) return dict(map(lambda x,y:[x,y],cr,list_z))
密钥去重
# 密钥去重 def remove(x): unique_x = [] for i in x: if i not in unique_x: unique_x.append(i) return unique_x
加解密
# 加密 def encode(): x = input('请输入密钥字符:') if not x.isalpha(): print('请输入正确的密钥格式!') exit(0) s = input('请输入明文:') print('加密后字符:',end='') unique_x = remove(x) dic_ = dic(unique_x) for i in s: if i.isspace(): print(' ', end='') else: print(chr(dic_[ord(i)]),end='') # 解密 def decode(): x = input('请输入密钥字符:') if not x.isalpha(): print('请输入正确的密钥格式!') exit(0) s = input('请输入密文:') print('解密后字符:',end='') unique_x = remove(x) dic_ = dic_2(unique_x) for i in s: if i.isspace(): print(' ',end='') else: print(chr(dic_[ord(i)]),end='')
程序入口
# 输入指令 answer = input(f'请输入所需的操作:编码/E or 解码/D: ') try: if answer.upper() == 'E': encode() elif answer.upper() == 'D': decode() else: print('输入错误!') except KeyError: print('请正确输入小写字母!')
实现效果
注:可以输入空格
输出大小写:请自行修改
请输入所需的操作:编码/E or 解码/D: e
请输入密钥字符:university
请输入明文:abcdefghijklmnopqrstuvwxyz
加密后字符:jklmopqwxzuniverstyabcdfgh请输入所需的操作:编码/E or 解码/D: d
请输入密钥字符:university
请输入密文:jklmopqwxzuniverstyabcdfgh
解密后字符:abcdefghijklmnopqrstuvwxyz
到此这篇关于Python实现密钥密码(加解密)的文章就介绍到这了,更多相关python 密钥密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- python实现DES加密解密方法实例详解
- python实现DES加密解密方法实例详解
- python实现无证书加密解密实例
- Python爬虫利用cookie实现模拟登陆实例详解
- python实现逆波兰计算表达式实例详解
- Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
- 利用Python中unittest实现简单的单元测试实例详解
- Python数据结构与算法之图的基本实现及迭代器实例详解
- python实现仿射密码加解密过程
- 微信小程序 sha1 实现密码加密实例详解
- python实现Virginia无密钥解密
- 基于python2.7实现图形密码生成器的实例代码
- python基于mysql实现的简单队列以及跨进程锁实例详解
- python下读取公私钥做加解密实例详解
- python实现无证书加密解密实例
- python实现rsa加密实例详解
- jQuery+ajax实现修改密码验证功能实例详解
- 对python使用telnet实现弱密码登录的方法详解
- Python实现的微信公众号群发图片与文本消息功能实例详解
- C#实现数据包加密与解密实例详解