色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 文件異或

錢諍諍1年前9瀏覽0評論

Python中的異或操作可以應用于文件處理,實現兩個文件的異或加密和解密。

異或加密的原理是將文件中的每個字節與給定的密鑰進行異或操作,得到的結果再寫入文件中。解密時也是將文件中的每個字節與相同的密鑰進行異或操作,還原出原始文件。

下面是一個簡單的實現:

def xor_file(input_file, output_file, key):
with open(input_file, 'rb') as f:
input_data = f.read()
key_data = key.encode() * (len(input_data) // len(key) + 1)
output_data = bytes([a ^ b for a, b in zip(input_data, key_data)])
with open(output_file, 'wb') as f:
f.write(output_data)

這個函數接受三個參數:輸入文件名、輸出文件名和一個字符串類型的密鑰。使用“with”語句保證文件的正確關閉。

首先打開輸入文件,讀取其中的字節數據。由于密鑰長度可能不足,需要將其重復至與文件數據相同的長度。然后以字節列表的形式生成輸出數據,列表中的每個字節都是輸入數據和密鑰數據異或的結果。最后將輸出數據寫入輸出文件。

使用這個函數可以實現文件的異或加解密:

xor_file('input.txt', 'output.enc', 'test')
xor_file('output.enc', 'input.enc', 'test')
xor_file('input.enc', 'output.txt', 'test')

第一條語句將“input.txt”文件加密并保存為“output.enc”文件;第二條語句將“output.enc”文件解密并保存為“input.enc”文件;第三條語句將“input.enc”文件解密并保存為“output.txt”文件,實現了文件的還原。