Пример #1
0
def Encrypt_File(filename,keyText=None):
    try:
        EncryptionFile = open(filename, 'rb')
    except IOError:
        raise IOError
    fileContent = EncryptionFile.read()
    EncryptionFile.close()
    key = []
    if keyText==None:
        key = Core.keyGenerator()
    else:
        key = Core.convert_block(list(keyText))

    IV, EncryptedText = Encrypt_all_blocks(fileContent,key)
    tempiv = ''.join(Core.convert_to_chars(IV))
    Final = tempiv+EncryptedText
    #for i,line in enumerate(fileContent):
        #IV.append(None)
       # EncryptedText.append(None)
        #IV[i], EncryptedText[i] = Encrypt_all_blocks(line[:-1], key)

        #Final.append([tempiv,EncryptedText[i]])
    keyFile = ''.join(Core.convert_to_chars(key))
    EncryptionFile = open(filename, 'w')
    #pickle.dump(keyFile, EncryptionFile)
    pickle.dump(Final,EncryptionFile)
    EncryptionFile.close()
    return keyFile
Пример #2
0
 def TextButton3(self,event, option):
     if option == 1:
         path = self.entry1.get()
         self.keyEntry.delete(0, 'end')
         originalDirectory = os.getcwd()
         try:
             os.chdir(path)
         except WindowsError:
             self.status.configure(text="Path is invalid!", bg='red')
             return
         keyText = ''.join(Core.convert_to_chars(Core.keyGenerator()))
         DirectoryList = os.listdir(os.getcwd())
         for i, fileName in enumerate(DirectoryList):
             keyText = Encrypt.Encrypt_File(fileName, keyText)
             self.status.configure(text="Encrypted %d out of %d files" % (i, len(DirectoryList)), bg='orange')
         self.keyEntry.insert(0, keyText)
         self.status.configure(text="Folder Encryption complete.", bg='light green')
     else:
         originalDirectory = os.getcwd()
         path = self.entry1.get()
         try:
             os.chdir(path)
         except WindowsError:
             self.status.configure(text="Path is invalid!", bg='red')
             return
         DirectoryList = os.listdir(os.getcwd())
         for i, fileName in enumerate(DirectoryList):
             KeyText = self.keyEntry.get()
             self.status.configure(text="Decrypted %d out of %d files" % (i, len(DirectoryList)), bg='orange')
             Decrypt.Decrypt_File(fileName, KeyText)
         self.status.configure(text="Folder Decryption complete.", bg='light green')
     os.chdir(originalDirectory)