Meilleure réponse
Il existe de nombreuses options pour crypter un fichier en python.
Utilisation de la bibliothèque PyCrypto: PyCrypto est une collection de fonctions de hachage sécurisées et de divers algorithmes de chiffrement. Installez dabord PyCrypto package en exécutant cette commande sur CMD
 pip install pycrypto 
Le code de chiffrement de fichier à laide de lalgorithme AES est indiqué ci-dessous
 import os, random, struct 
 from Crypto.Cipher import AES 
 def encrypt\_file(key, in\_filename, out\_filename=None, chunksize=64*1024): 
  """ Encrypts a file using AES (CBC mode) with the 
  given key. 
  key: 
  The encryption key - a string that must be 
  either 16, 24 or 32 bytes long. Longer keys 
  are more secure. 
  in\_filename: 
  Name of the input file 
  out\_filename: 
  If None, " 
  chunksize: 
  uses to read and encrypt the file. Larger chunk 
  sizes can be faster for some files and machines. 
  chunksize must be divisible by 16. 
  """ 
  if not out\_filename: 
  out\_filename = in\_filename + ".enc" 
  iv = "".join(chr(random.randint(0, 0xFF)) for i in range(16)) 
  encryptor = AES.new(key, AES.MODE\_CBC, iv) 
  filesize = os.path.getsize(in\_filename) 
  with open(in\_filename, "rb") as infile: 
  with open(out\_filename, "wb") as outfile: 
   
 outfile.write(struct.pack(" 
  outfile.write(iv) 
  while True: 
  chunk = infile.read(chunksize) 
  if len(chunk) == 0: 
  break 
  elif len(chunk) \% 16 != 0: 
  chunk += " " * (16 - len(chunk) \% 16) 
  outfile.write(encryptor.encrypt(chunk)) 
Utilisation de PyAesCrypt: module de chiffrement à trois fichiers Python qui utilise AES256-CBC pour chiffrer et déchiffrer les fichiers
 pip install pyAesCrypt 
Exemple de code ci-dessous:
 import pyAesCrypt 
 # encryption/decryption buffer size - 64K 
 bufferSize = 64 * 1024 
 password = "foopassword" 
 # encrypt 
 pyAesCrypt.encryptFile("data.txt", "data.txt.aes", password, bufferSize) 
 # decrypt 
 pyAesCrypt.decryptFile("data.txt.aes", "dataout.txt", password, bufferSize) 
La bibliothèque de cryptographie Python peut également être une bonne option pour le chiffrement
Réponse
  
Le moyen le plus simple de crypter des fichiers avec python sera dutiliser module de cryptographie .
1.Installation:
 pip/pip3 install cryptography 
2.Code:
Nous aurons un fichier vidéo nommé " myvideo.mp4 " pour le crypter et le programme principal "main.py" .
 """ 
 filename: main.py 
 author: SANDIPAN CHOWDHURY 
 purpose: Encrypting any file 
 This program is posted on Quora on 9th January, 2021 
 """ 
 #imports 
 from cryptography.fernet import Fernet 
 def sancrypt(filename): 
  "This function Encrypt the file" 
  key=Fernet.generate\_key() 
  key\_master=Fernet(key) 
  with open (filename,"rb") as f: 
  data=f.read() 
  encr\_data=key\_master.encrypt(data) 
  with open(filename+".sancrypted","wb") as f: 
  f.write(encr\_data) 
  with open(filename+".key","wb") as f: 
  f.write(key) 
 def desancrypt(filename,keyfilename): 
  "This function decrypt the filename with keyfilename" 
  with open(filename,"rb") as f: 
  encr\_data=f.read() 
  with open(keyfilename,"rb") as f: 
  key=f.read() 
  keymaster=Fernet(key) 
  decr\_data=keymaster.decrypt(encr\_data) 
  with open(filename.replace(".sancrypted",""),"wb") as f: 
 def main(): 
  x=input(""" 
 1. Encrypt 
 2. Decrypt 
 Enter a number? 
 """) 
  if x=="1": 
  filename=input("Enter a filename: ") 
  try: 
  sancrypt(filename) 
  print("File Encrypted.") 
  main() 
  except Exception as e: 
  print("File Encryption Failed") 
  print(str(e)) 
  main() 
  elif x=="2": 
  filename=input("Enter filename with ".sancrypted" extension: ") 
  keyfile=input("Enter filename with ".key" extension: ") 
  try: 
  desancrypt(filename,keyfile) 
  print("File Decrypted.") 
  main() 
  except Exception as e: 
  print("Decryption Failed.") 
  print(str(e)) 
  main() 
  else: 
  print("Invalid Input. Must be 1 or 2") 
  main() 
 if \_\_name\_\_=="\_\_main\_\_": 
  main() 
Essayez toujours dutiliser le fichier de clé correct pour fichier de données, soit il échoue sûrement. Il faut environ 30 minutes pour écrire ce programme. Veuillez valider ma réponse.