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

凯撒加密与解密及其python代码的实现

2016-11-25 23:22 330 查看

1.凯撒加密

凯撒加密通过移位的方式加密消息,最多有25种加密方式(最开始是24种,因为当时的字母一共是25个)

比如明文‘ i love china’移位2位加密后的暗文就是‘k nqxg ejkpc’

2.代码的实现

def change(c,i):
c = c.lower()
num = ord(c)
if num >= 97 and num <= 122:
num = 97 + ((num - 97) + i) % 26
return chr(num)

def kaisa_jiami(string,i):
string_new = ''
for s in string:
string_new += change(s,i)
print(string_new)
return string_new

def kaisa_jiemi(string):
for i in range(25):
print('\n', i, '\n')
i += 1
kaisa_jiami(string,i)

def main():
print('请选择需要的操作:')
print('1:凯撒加密')
print('2:凯撒解密')
choice = input()
if choice == '1':
string = input('请输入需要加密的字符串:')
num = int(input('请输入需要偏移的位数:'))
kaisa_jiami(string,num)
elif choice == '2':
string = input('请输入需要解密的字符串:')
kaisa_jiemi(string)
else:
print('输入错误,请重试!')
main()

if __name__ == '__main__':
main()


3.效果

加密:



解密:



找到正确的明文:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: