加密形式

from cryptography.fernet import Fernet
key = Fernet.generate_key()
f = Fernet(key)
file = open('C:/Users/ps/Desktop/key.txt','w')
file.write(str(key.decode('utf-8')))
origin_files = [r"C:\Users\ps\Desktop\best.pt"]
encrypted_files = ['C:/Users/ps/Desktop/yolov5s-en.data']
for i in range(len(origin_files)):
with open(encrypted_files[i],'wb') as ew:
content = open(origin_files[i],'rb').read()
encrypted_content = f.encrypt(content)
ew.write(encrypted_content)
from cryptography.fernet import Fernet
with open('C:/Users/ps/Desktop/key.txt', 'rb') as key:
key = key.readline()
f = Fernet(key)
encrypted_files = ['C:/Users/ps/Desktop/yolov5s-en.data']
decrypt_files = ['C:/Users/ps/Desktop/yolov5s-de.pt']
for i in range(len(encrypted_files)):
with open(decrypt_files[i],'wb') as ew:
content = open(encrypted_files[i],'rb').read()
decrypt_content = f.decrypt(content)
ew.write(decrypt_content)
另一种方式
k = key.encode('utf-8')
iv = iv.encode('utf-8')
def Encrypt(byte_string):
cryptos = AES.new(k, mode, iv)
pad_pkcs7 = pad(byte_string, AES.block_size, style='pkcs7')
cipher_text = cryptos.encrypt(pad_pkcs7)
return b2a_hex(cipher_text)
w1 = str(f).split('\\')[-1]
w2 = w1.split('.')[0]
w3 = str(f).split('b')[0]
new_name = [w3 + GetFileName(w2, w3)]
ff = [f]
for i in range(len(ff)):
with open(new_name[i], 'wb') as f1:
cont = open(ff[i], 'rb').read()
encrypted = Encrypt(cont)
f1.write(encrypted)