Python凯撒加密解密字母字符数字
时间: 2023-05-21 20:04:38 浏览: 235
当你使用 Python 编写凯撒加密算法时,需要明确几个点:
1.加密和解密算法要相同,关键是偏移量 k 的选择。
2.需要针对字母、数字和其他字符分别加密解密。
下面是一个简单的 Python 凯撒加密解密实现方法:
```
def caesar_encrypt(msg, k):
encrypted = ''
for c in msg:
if c.isalpha():
encrypted += chr((ord(c) + k - 65) % 26 + 65)
elif c.isdigit():
encrypted += chr((ord(c) + k - 48) % 10 + 48)
else:
encrypted += c
return encrypted
def caesar_decrypt(encrypted, k):
return caesar_encrypt(encrypted, -k)
```
使用方法:
```
>>> msg = 'abc123!@#'
>>> k = 3
>>> encrypted_msg = caesar_encrypt(msg, k)
>>> print(encrypted_msg)
def456!@#
>>> decrypted_msg = caesar_decrypt(encrypted_msg, k)
>>> print(decrypted_msg)
abc123!@#
```
注意,这个示例实现并不充分,比如它没有处理大小写问题,只是假设输入都是大写字母和数字,也没有考虑密文和密钥的长度问题,如果你需要更加具体的实现方法,可以自己搜索一下相关资料或者尝试改进这个示例。
阅读全文