code: def validate_customer_encryption_headers(
      key_header_value, hash_header_value, algo_header_value
  ):
      """Verify that the encryption headers are internally consistent.
  
      :param key_header_value: str the value of the x-goog-*-key header
      :param hash_header_value: str the value of the x-goog-*-key-sha256 header
      :param algo_header_value: str the value of the x-goog-*-key-algorithm header
      :rtype: NoneType
      """
      try:
          if algo_header_value is None or algo_header_value != "AES256":
              raise error_response.ErrorResponse(
                  "Invalid or missing algorithm %s for CSEK"
                  % algo_header_value,
                  status_code=400,
              )
  
          key = base64.standard_b64decode(key_header_value)
          if key is None or len(key) != 256 / 8:
              raise_csek_error()
  
          h = hashlib.sha256()
          h.update(key)
          expected = base64.standard_b64encode(h.digest()).decode(
              "utf-8"
          )
          if hash_header_value is None or expected != hash_header_value:
              raise_csek_error()
      except error_response.ErrorResponse:
          # error_response.ErrorResponse indicates that the request was invalid, just pass
          # that exception through.
          raise
      except Exception:
          # Many of the functions above may raise, convert those to an
          # error_response.ErrorResponse with the right format.
          raise_csek_error()
  
imports: import base64
  import error_response
  import hashlib
  import json
  import random
  import re
label_desc: Use image node_id 4 for calling a global function with example usage: validate_customer_encryption_headers(key_header_value, hash_header_value, algo_header_value) without return types