<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _create_config_signature(config):
 """ return the signature for a config object. The signature is computed as sha1 digest of the contents of working_directory, include_paths, define_symbols and undefine_symbols. :param config: Configuration object :type config: :class:`parser.xml_generator_configuration_t` :rtype: str """

        m = hashlib.sha1()
        m.update(config.working_directory.encode("utf-8"))
        for p in config.include_paths:
            m.update(p.encode("utf-8"))
        for p in config.define_symbols:
            m.update(p.encode("utf-8"))
        for p in config.undefine_symbols:
            m.update(p.encode("utf-8"))
        for p in config.cflags:
            m.update(p.encode("utf-8"))
        return m.digest()