密钥密码
''' 如密钥短语密码为: 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
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“Python实现密钥密码(加解密)实例详解”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
