class Number():#定义类
def encrypted(self,str1):#定义函数
str2 = ''#创建空字符串,以便循环代入
for i in str1:#提取每一位密码
if i.isalpha() == True:#进行判断,当加密时输入的密码需要往后移动一位,这里就需要用到ascll码互换,ord()可将字母转换成数字chr()可将数字转换成对应字母
if i == 'z':#加密时z,Z是转折点需要判断
str2 = str2 + 'a'
elif i == 'Z':
str2 = str2 + 'A'
else:
str2 = str2 + chr(ord(i) + 1)
else:#除了字母其他直接提出来
str2 = str2 + i
return str2
def decrypt(self,str1):#加密是往后移位,而A,a则变成转折点
str2 = ''
for i in str1:
if i.isalpha() == True:
if i == 'a':
str2 = str2 + 'z'
elif i == 'A':
str2 = str2 + 'Z'
else:
str2 = str2 + chr(ord(i) - 1)
else:
str2 = str2 + i
return str2
a = Number()#实现类
b = a.encrypted('asdaaafaaf123')#实现类中encrypted函数,代入需要加密的密码
print(b)
c = a.decrypt('fsfd46fsdff')#实现类中decrypt函数,代入需要解密的密码
print(c)
简单的凯撒密码,利用字母移位来加密字母, 比如让字母移动1位,比如a变成b,b变成c,最后z变成a, 将内容整体移动一位来加密内容
最新推荐文章于 2022-07-31 15:53:33 发布