
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)
本文介绍了一种简易的字符加密和解密算法,通过ASCII码的加减操作实现字符的位移,适用于基本的字符串加密场景。文章详细展示了加密和解密函数的Python代码实现,并提供了实例演示。
769

被折叠的 条评论
为什么被折叠?



