凯撒加解密任意可见字符
程序员文章站
2022-03-05 12:40:59
...
凯撒加解密:
功能:
(1)明(密)文可以任意输入字符;
(2)明(密)文长度不限制;
(3)加密与解密模块可以选择。
代码
#加密
def encrypt(key,message):
result = ''
for item in message:
num = ord( item ) + key
if num <=126 :
result += chr( num % 127)
else:
result += chr( num % 127 + 32)
return result
#解密
def decrypt(key,message):
result = ''
for item in message:
num = ord(item) - key
if num >=32:
result += chr( num )
else:
result += chr(num-32+127)
return result
#main()函数:
def main():
key = int ( input ('输入一个整数作为**(0~94):'))
message = input('请输入信息:')
choice = input('0:加密,1:解密,请输入0或者1:')
if choice=='0':
ciphertext=encrypt(key,message)
print('ciphertext:',ciphertext)
elif choice=='1':
plaintext=decrypt(key,message)
print('plaintext:',plaintext)
else:
print('输入错误')