title: file size is dramatically increased after pickle
body: <p>I'm reading in a file and sending the data (once encrypted) to a dictionary, with a hash of the data before and after encryption. I then pickle the dictionary but find the file size is massive compared to the source file size. If I write the encrypted data straight to a file the size is identical to the source. Any idea why my pickled file is so large?</p>
  
  <pre><code>#Encrypt data and get hashes        
  def encryptAndExportFile(self, key, inFile, outFile):
  
      openInFile = open(inFile,"rb")
      inFileSize = os.path.getsize(inFile)
      inFileData = openInFile.readlines()
      openInFile.close()
  
      """ initialise cipher """
  
      cipher = AES.new(key, AES.MODE_CFB)
  
      """ initialise MD5 """
  
      m = hashlib.md5() #hash
      h = hashlib.md5() #hash of encrypted dataq
  
      encryptedData = []
  
      for data in inFileData:
  
          m.update(data) 
          encData = cipher.encrypt(data)
          h.update(encData)
          encryptedData.append(encData)
  
  
      hashResult = m.digest()
      encHashResult = h.digest()
  
      return hashResult, encryptedData, encHashResult
  
  def storeEncryptedObject(self, obj, path):
  
      outFile = open(path, 'wb')
      pickle.dump(obj, outFile)
      outFile.close()
  </code></pre>