凯撒加解密任意可见字符

凯撒加解密:

功能:
(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('输入错误')

运行截图

凯撒加解密任意可见字符_第1张图片
在这里插入图片描述

你可能感兴趣的:(密码学,密码学)