使用python设计并实现一种置换密码算法,要求实现加密和解密,并且启动程序后,先输出作者姓名学号
时间: 2024-09-11 07:16:03 浏览: 76
您好,我可以为您介绍如何使用Python设计和实现一个简单的替换密码(Caesar Cipher)算法。这是一个简单的字母移位加密方法,我们通过将明文中的每个字符按照指定的偏移量向右移动固定的位置来进行加密。
首先,我们需要定义一个函数`shift_char(char, shift)`用于单个字符的加密,然后分别编写`encrypt`和`decrypt`函数处理整个字符串。
```python
# 密码作者信息
author = "张三"
student_id = "001"
def shift_char(char, shift):
# ASCII码表上大写字母从65开始,小写字母从97开始
if 'A' <= char <= 'Z':
return chr(((ord(char) - ord('A') + shift) % 26) + ord('A'))
elif 'a' <= char <= 'z':
return chr(((ord(char) - ord('a') + shift) % 26) + ord('a'))
else:
return char
def encrypt(plaintext, shift):
return ''.join(shift_char(char, shift) for char in plaintext)
def decrypt(ciphertext, shift):
return encrypt(ciphertext, -shift) # 解密时需要反向移位
# 示例使用
plaintext = "Hello, World!"
shift = 3
ciphertext = encrypt(plaintext, shift)
print("作者:", author, ", 学号:", student_id)
print("原始文本:", plaintext)
print("加密后:", ciphertext)
print("解密后:", decrypt(ciphertext, shift))
#
阅读全文