凯撒密码通过固定位移实现加密,如位移3时A变D;Python中利用ord和chr函数结合模运算处理大小写字符,非字母保持不变,加密解密分别用正负位移完成。

凯撒密码是一种经典的替换加密方法,通过将字母表中的每个字母向前或向后移动固定的位数来实现加密和解密。在Python中实现非常简单,适合初学者理解字符串处理和循环结构。
基本原理
凯撒密码的核心是位移操作。比如位移3,A变成D,B变成E,以此类推。当超过Z时,会从A重新开始,因此需要使用模运算(%)来实现循环。
加密函数实现
下面是一个简单的加密函数:
def caesar_encrypt(text, shift): result = "" for char in text: if char.isalpha(): base = ord('A') if char.isupper() else ord('a') result += chr((ord(char) - base + shift) % 26 + base) else: result += char return result说明:
立即学习“Python免费学习笔记(深入)”;
系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7
- 遍历输入文本的每个字符
- 只对字母进行加密,其他符号(如空格、标点)保持不变
- 根据大小写分别计算偏移后的字符
- 使用
ord()获取ASCII码,chr()转回字符
解密函数实现
解密其实就是反向位移:
def caesar_decrypt(cipher, shift): return caesar_encrypt(cipher, -shift)直接调用加密函数,把位移取负即可完成解密。
使用示例
text = "Hello, World!" shift = 3 encrypted = caesar_encrypt(text, shift) print("密文:", encrypted) # 输出: Khoor, Zruog! decrypted = caesar_decrypt(encrypted, shift) print("原文:", decrypted) # 输出: Hello, World!基本上就这些。代码简洁,逻辑清晰,非常适合练习Python基础语法和理解加密思想。










