凯撒密码:Python 编程实现104
简介
凯撒密码是一种经典的加密算法,由古罗马独裁者朱利叶斯凯撒在其军事通信中使用。它是一种替换密码,其中每个字母都被其后缀或前缀一定数量位置的字母替代。这种偏移量称为移位量。
凯撒密码加密解密
使用凯撒密码加密文本时,每个字母都向后或向前移动指定的移位量,进入字母表的相应位置。例如,如果移位量为 3,字母“A”将变为“D”,而字母“Z”将变为“C”。
解密过程正好相反。通过将每个字母向前或向后移动相同的移位量,可以恢复原始文本。
Python 编程实现
以下 Python 程序实现了凯撒密码的加密和解密:```
def encrypt_caesar(plaintext, shift):
"""使用凯撒密码加密明文。
Args:
plaintext (str): 要加密的明文。
shift (int): 凯撒密码的移位量。
Returns:
str: 加密后的密文。
"""
ciphertext = ""
for char in plaintext:
if ():
is_upper = ()
char_code = ord(char)
if is_upper:
char_code -= ord('A')
else:
char_code -= ord('a')
char_code = (char_code + shift) % 26
if is_upper:
char_code += ord('A')
else:
char_code += ord('a')
ciphertext += chr(char_code)
else:
ciphertext += char
return ciphertext
def decrypt_caesar(ciphertext, shift):
"""使用凯撒密码解密密文。
Args:
ciphertext (str): 要解密的密文。
shift (int): 凯撒密码的移位量。
Returns:
str: 解密后的明文。
"""
return encrypt_caesar(ciphertext, -shift)
```
示例
让我们使用提供的 Python 程序来加密和解密一段文本:```
plaintext = "HELLO WORLD"
shift = 3
ciphertext = encrypt_caesar(plaintext, shift)
print("密文:", ciphertext)
decrypted_plaintext = decrypt_caesar(ciphertext, shift)
print("明文:", decrypted_plaintext)
```
输出:```
密文: KHOOR ZRUOG
明文: HELLO WORLD
```
正如您所看到的,文本“HELLO WORLD”使用移位量 3 被加密为“KHOOR ZRUOG”,并且使用相同的移位量可以正确解密它。
凯撒密码是一种简单但有效的加密算法,可以使用 Python 轻松实现。它可以用于加密敏感信息,例如密码和个人数据。虽然它对于现代加密标准来说不够安全,但它仍然是学习密码学基础的很好的入门算法。
2025-02-12
下一篇:Python 编程速成指南
Perl中设置操作的深入探索
https://jb123.cn/perl/36632.html
JavaScript 中的数据存储和管理
https://jb123.cn/javascript/36631.html
Perl which命令详解
https://jb123.cn/perl/36630.html
高级语言与脚本语言:傻傻分不清楚?
https://jb123.cn/jiaobenyuyan/36629.html
使用 JavaScript 增强您的 QQ 空间体验
https://jb123.cn/javascript/36628.html
热门文章
Python 编程解密:从谜团到清晰
https://jb123.cn/python/24279.html
Python编程深圳:初学者入门指南
https://jb123.cn/python/24225.html
Python 编程终端:让开发者畅所欲为的指令中心
https://jb123.cn/python/22225.html
Python 编程专业指南:踏上编程之路的全面指南
https://jb123.cn/python/20671.html
Python 面向对象编程学习宝典,PDF 免费下载
https://jb123.cn/python/3929.html