code: def CryptProtectData(
  	data, description=None, optional_entropy=None,
  	prompt_struct=None, flags=0,
  ):
  	
  	data_in = DATA_BLOB(data)
  	entropy = DATA_BLOB(optional_entropy) if optional_entropy else None
  	data_out = DATA_BLOB()
  
  	res = _CryptProtectData(
  		data_in,
  		description,
  		entropy,
  		None,  # reserved
  		prompt_struct,
  		flags,
  		data_out,
  	)
  	handle_nonzero_success(res)
  	res = data_out.get_data()
  	data_out.free()
  	return res
docs: Encrypt data