您的位置:首页 > 编程语言 > Python开发

python实现凯撒密码加解密

2020-03-29 12:16 405 查看

源代码

def CaesarEncode(PlainText,shif):    #加密
TextList = []
AsciiList = []
ResultList = []
shift = int(shif)
for i in PlainText:
TextList.append(i)
for j in TextList:
num = ord(j)
AsciiList.append(num)
for k in AsciiList:
tmp = int(k)
addnum = tmp + shift
Str = chr(addnum)
ResultList.append(Str)
ResultStr = "".join(ResultList)
return ResultStr

def CaesarDecode(CipherText,shif):     #解密
NumList = []
StrList = []
shift = int(shif)
for i in CipherText:
Num = ord(i)
NumList.append(Num)
for d in NumList:
j = int(d)
if(j - shift < 97):
num = j - shift + 26
StrList.append(chr(num))
else:
if(j - shift > 123):
num = j - shift - 26
StrList.append(chr(num))
else:
num = j - shift
StrList.append(chr(num))

PlainText = "".join(StrList)
return PlainText

其实还可以继续优化一下
就是在解密时将26种情况同时列出来
大家可以下去自己试试哦

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Worgty 发布了33 篇原创文章 · 获赞 0 · 访问量 630 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: