code: def _get_encryption_headers(key, source=False):
      
      if key is None:
          return {}
  
      key = _to_bytes(key)
      key_hash = hashlib.sha256(key).digest()
      key_hash = base64.b64encode(key_hash)
      key = base64.b64encode(key)
  
      if source:
          prefix = "X-Goog-Copy-Source-Encryption-"
      else:
          prefix = "X-Goog-Encryption-"
  
      return {
          prefix + "Algorithm": "AES256",
          prefix + "Key": _bytes_to_unicode(key),
          prefix + "Key-Sha256": _bytes_to_unicode(key_hash),
      }
docs: Builds customer encryption key headers
  
      :type key: bytes
      :param key: 32 byte key to build request key and hash.
  
      :type source: bool
      :param source: If true, return headers for the "source" blob; otherwise,
                     return headers for the "destination" blob.
  
      :rtype: dict
      :returns: dict of HTTP headers being sent in request.