. 编写函数,对字符串进行加密、解密。加密、解密的密匙为两位数字,加密时轮流使用密匙中的数字对字符进行加法运算,解密时则轮流使用密匙中的数字对字符进行减法运算。例如,待加密的字符串为"China",密匙为2和5,则加密后的密文为"Emksc",解密后还原为"China"。
时间: 2024-02-09 08:09:38 浏览: 57
以下是加密、解密的函数实现:
```python
def encrypt_decrypt(text, key):
"""
加密、解密函数
text: 待加密、解密的字符串
key: 两位数字的密匙
"""
encrypted_text = ""
for i, char in enumerate(text):
k = int(key[i % 2]) # 轮流使用密匙中的数字
if char.isupper():
encrypted_text += chr((ord(char) - 65 + k) % 26 + 65) # 大写字母加密
elif char.islower():
encrypted_text += chr((ord(char) - 97 + k) % 26 + 97) # 小写字母加密
else:
encrypted_text += char # 非字母字符不加密
return encrypted_text
# 测试
text = "China"
key = "25"
encrypted_text = encrypt_decrypt(text, key)
print("加密后的密文:", encrypted_text)
decrypted_text = encrypt_decrypt(encrypted_text, key)
print("解密后的明文:", decrypted_text)
```
输出结果:
```
加密后的密文: Emksc
解密后的明文: China
```
阅读全文