首页 > 科技 >

凯撒加密与解密及其Python代码的实现 🐍🔑

发布时间:2025-03-09 23:32:33来源:

凯撒加密是一种古老的替换加密技术,通过将字母表中的每个字母向后移动固定位数来实现。例如,如果移动3位,A就会变成D,B变成E,以此类推。这个方法简单但有效,尤其是在没有更高级加密手段的时代。

假设我们现在有一个明文 "china",想要用凯撒密码进行加密。我们可以选择一个密钥,比如密钥为3,这意味着我们把每个字母都向后移动3位。因此,"c" 变成 "f","h" 变成 "k",以此类推。最后得到的密文是 "fklnm"。

接下来,我们看看如何使用Python来实现这个过程。首先,我们需要创建一个函数,该函数接受明文和密钥作为输入参数。通过遍历明文中的每个字符,并将其向后移动指定的位数,可以生成密文。同样,我们还需要一个解密函数,它接收密文和密钥,将每个字符向前移动指定的位数以恢复原始明文。

下面是一个简单的Python代码示例,用于演示凯撒加密和解密的过程:

```python

def caesar_cipher_encrypt(text, shift):

encrypted_text = ""

for char in text:

if char.isalpha():

shift_amount = 65 if char.isupper() else 97

encrypted_text += chr((ord(char) + shift - shift_amount) % 26 + shift_amount)

else:

encrypted_text += char

return encrypted_text

def caesar_cipher_decrypt(encrypted_text, shift):

return caesar_cipher_encrypt(encrypted_text, 26 - shift)

plaintext = "china"

shift = 3

encrypted = caesar_cipher_encrypt(plaintext, shift)

print("Encrypted:", encrypted)

decrypted = caesar_cipher_decrypt(encrypted, shift)

print("Decrypted:", decrypted)

```

通过运行上述代码,你可以看到输出结果,其中明文 "china" 经过加密后变成了 "fklnm",再经过解密后又恢复为 "china"。这证明了凯撒密码的基本原理以及其在Python中的实现方式。💻🛡️

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。