输入文本,根据文本长度生成长度相同,取值在[-15,15]范围内的“密码本”,文本内容根据对应位置密码本的数值在字母表上进行左移(密码本数值为负)或者右移(密码本数值为正),输出加密后的文本内容(注意空格的处理)
时间: 2024-02-09 11:12:59 浏览: 90
对文本进行加密和解密
好的,我理解了你的问题。这是一个简单的加密算法,我可以为您编写Python代码实现。以下是代码:
``` python
import random
def generate_passwords(text):
"""
生成长度相同,取值在[-15,15]范围内的密码本
"""
password_length = len(text)
password_list = [random.randint(-15, 15) for i in range(password_length)]
return password_list
def encrypt(text):
"""
使用密码本加密文本
"""
password_list = generate_passwords(text)
encrypted_text = ''
for i in range(len(text)):
if text[i] == ' ':
encrypted_text += ' '
else:
letter_index = ord(text[i]) - 97
encrypted_index = (letter_index + password_list[i]) % 26
encrypted_letter = chr(encrypted_index + 97)
encrypted_text += encrypted_letter
return encrypted_text
# 测试代码
text = input("请输入需要加密的文本:")
print("原始文本:", text)
encrypted_text = encrypt(text)
print("加密后文本:", encrypted_text)
```
您可以将上述代码复制到Python文件中并运行,然后输入您要加密的文本,程序会生成相应的密码本并使用它来加密文本。输出结果将是加密后的文本。
阅读全文