Учебники

Шифрование файлов

В Python можно зашифровать и расшифровать файлы перед передачей в канал связи. Для этого вам нужно будет использовать плагин PyCrypto . Вы можете установить этот плагин с помощью команды, приведенной ниже.

pip install pycrypto

PyCrypto

Код

Код программы для шифрования файла с защитой паролем указан ниже —

# =================Other Configuration================
# Usages :
usage = "usage: %prog [options] "
# Version
Version="%prog 0.0.1"
# ====================================================
# Import Modules
import optparse, sys,os
from toolkit import processor as ps
def main():
   parser = optparse.OptionParser(usage = usage,version = Version)
   parser.add_option(
      '-i','--input',type = 'string',dest = 'inputfile',
      help = "File Input Path For Encryption", default = None)
   
   parser.add_option(
      '-o','--output',type = "string",dest = 'outputfile',
      help = "File Output Path For Saving Encrypter Cipher",default = ".")
	
   parser.add_option(
      '-p','--password',type = "string",dest = 'password',
      help = "Provide Password For Encrypting File",default = None)
	
   parser.add_option(
      '-p','--password',type = "string",dest = 'password',
      help = "Provide Password For Encrypting File",default = None)
	
   (options, args)= parser.parse_args()
	
   # Input Conditions Checkings
   if not options.inputfile or not os.path.isfile(options.inputfile):
      print " [Error] Please Specify Input File Path"
      exit(0)
   if not options.outputfile or not os.path.isdir(options.outputfile):
      print " [Error] Please Specify Output Path"
      exit(0)
   if not options.password:
      print " [Error] No Password Input"
      exit(0)
   inputfile = options.inputfile

   outputfile = os.path.join(
      options.outputfile,os.path.basename(options.inputfile).split('.')[0]+'.ssb')
   password = options.password
   base = os.path.basename(inputfile).split('.')[1]
   work = "E"

   ps.FileCipher(inputfile,outputfile,password,work)
   return

   if __name__ == '__main__':
   main()

Вы можете использовать следующую команду для выполнения процесса шифрования вместе с паролем —

python pyfilecipher-encrypt.py -i file_path_for_encryption -o output_path -p password

Выход

Вы можете наблюдать следующий вывод при выполнении кода, приведенного выше —

Процесс шифрования

объяснение

Пароли генерируются с использованием алгоритма хеширования MD5, а значения хранятся в просто безопасных файлах резервных копий в системе Windows, которые включают значения, как показано ниже: