凯撒加密Python实现
import string
key = int(input("输入凯撒密钥(1-25之间的数):"))
intab = string.ascii_lowercase + string.ascii_uppercase
outtab1 = string.ascii_lowercase[key:] + string.ascii_lowercase[:key]
outtab2 = string.ascii_uppercase[key:] + string.ascii_uppercase[:key]
outtab = outtab1 + outtab2
trantab = str.maketrans(intab, outtab)
plaintext = input("输入明文:")
ciphertext = plaintext.translate(trantab)
print("密文为:" + ciphertext)
凯撒解密Python实现
import string
key = int(input("输入凯撒密钥(1-25之间的数):"))
intab = string.ascii_lowercase + string.ascii_uppercase
outtab1 = string.ascii_lowercase[key:] + string.ascii_lowercase[:key]
outtab2 = string.ascii_uppercase[key:] + string.ascii_uppercase[:key]
outtab = outtab1 + outtab2
trantab = str.maketrans(outtab, intab)
ciphertext = input("输入密文:")
plaintext = ciphertext.translate(trantab)
print("明文为:" + plaintext)
凯撒加密函数和解密函数实现
import string
def CaesarEncrypt(key, plaintext):
key = abs(key) % 26
intab = string.ascii_lowercase + string.ascii_uppercase
outtab1 = string.ascii_lowercase[key:] + string.ascii_lowercase[:key]
outtab2 = string.ascii_uppercase[key:] + string.ascii_uppercase[:key]
outtab = outtab1 + outtab2
trantab = str.maketrans(intab, outtab)
ciphertext = plaintext.translate(trantab)
return ciphertext
def CaesarDecrypt(key, ciphertext):
key = abs(key) % 26
intab = string.ascii_lowercase + string.ascii_uppercase
outtab1 = string.ascii_lowercase[key:] + string.ascii_lowercase[:key]
outtab2 = string.ascii_uppercase[key:] + string.ascii_uppercase[:key]
outtab = outtab1 + outtab2
trantab = str.maketrans(outtab, intab)
plaintext = ciphertext.translate(trantab)
return plaintext
def main():
ciphertext = CaesarEncrypt(3, 'I love you.')
print(ciphertext)
plaintext = CaesarDecrypt(3, ciphertext)
print(plaintext)
if __name__ == '__main__':
main()