用python写一个文件加密算法
时间: 2024-05-10 17:18:15 浏览: 148
利用Rijndael算法进行任意文件的加密。把任意一个文件分成N个16字节组,最后一组若不足16字节可以用空格去补.zip
以下是一个简单的文件加密和解密算法,使用Python语言实现:
```python
import os
def encrypt_file(input_file_path, output_file_path, key):
with open(input_file_path, 'rb') as input_file:
input_data = input_file.read()
output_data = bytearray(input_data)
for index, value in enumerate(output_data):
output_data[index] = value ^ key
with open(output_file_path, 'wb') as output_file:
output_file.write(output_data)
def decrypt_file(input_file_path, output_file_path, key):
encrypt_file(input_file_path, output_file_path, key)
input_file_path = 'input.txt'
output_file_path = 'output.txt'
key = 100
encrypt_file(input_file_path, output_file_path, key)
decrypt_file(output_file_path, input_file_path, key)
```
该算法使用异或运算(^)对文件内容进行加密和解密。具体来说,它读取输入文件的内容,将其存储在一个字节数组中,并使用给定的密钥对每个字节执行异或运算。然后,它将加密后的数据写入输出文件。
要使用此算法加密或解密文件,请指定输入文件路径、输出文件路径和密钥。在上面的示例中,输入文件为“input.txt”,输出文件为“output.txt”,密钥为100。
阅读全文