利用凯撒密码对数据进行加密并写入文件
时间: 2023-08-22 22:08:58 浏览: 49
好的,我可以为您提供 Python 代码来实现这个任务。以下是一个简单的加密函数,它使用凯撒密码对输入的字符串进行加密:
```python
def encrypt(text, s):
result = ""
for i in range(len(text)):
char = text[i]
if char.isupper():
result += chr((ord(char) + s - 65) % 26 + 65)
elif char.islower():
result += chr((ord(char) + s - 97 % 26 + 97)
else:
result += char
return result
```
这个函数接受两个参数:要加密的文本和密钥。它将每个字符转换为其 ASCII 值,将其移动 s 个位置,然后将其转换回字符。如果字符不是字母,则保留原样。
接下来,我们可以编写一个函数来将加密后的数据写入文件:
```python
def write_encrypted_file(filename, text, key):
encrypted_text = encrypt(text, key)
with open(filename, "w") as f:
f.write(encrypted_text)
```
这个函数接受三个参数:文件名、要加密的文本和密钥。它首先使用我们上面定义的 `encrypt` 函数对文本进行加密,然后将加密后的文本写入指定的文件中。
您可以使用以下代码调用这个函数,将文本 "Hello, World!" 加密并将其写入文件 "encrypted.txt" 中:
```python
text = "Hello, World!"
key = 3
filename = "encrypted.txt"
write_encrypted_file(filename, text, key)
```
这将使用密钥 3 对文本进行加密,并将加密后的结果写入文件 "encrypted.txt"。请注意,如果文件已经存在,它将被覆盖。