在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。python
时间: 2024-12-10 11:41:19 浏览: 12
在密码学中,凯撒密码(Caesar Cipher)是一种古典的加密手段,其基本思想非常直观。它通过将明文中的每个字符按照字母表顺序向后(称为正向凯撒密码)或向前(反向凯撒密码)移动固定数量的位置来加密。例如,如果偏移量是3,A会变成D,B变为E,以此类推,Z之后会绕回到A。在Python中,可以很容易地编写一个简单的凯撒密码加密和解密函数,通常涉及对字符进行ASCII编码处理。
下面是一个简单的Python示例,展示了如何创建一个正向凯撒密码:
```python
def caesar_cipher_encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha(): # 只处理字母
shift_amount = shift % 26 # 防止超过字母表范围
new_char = chr((ord(char) - ord('A') + shift_amount) % 26 + ord('A'))
encrypted_text += new_char
else:
encrypted_text += char # 对非字母字符不做处理
return encrypted_text
def caesar_cipher_decrypt(encrypted_text, shift):
return caesar_cipher_encrypt(encrypted_text, -shift)
# 示例用法
plaintext = "Hello, World!"
shift = 3
encrypted = caesar_cipher_encrypt(plaintext, shift)
decrypted = caesar_cipher_decrypt(encrypted, shift)
print(f"Encrypted: {encrypted}\nDecrypted: {decrypted}")
```
阅读全文