cyclonedx.contrib.hash.factories
================================

.. py:module:: cyclonedx.contrib.hash.factories

.. autoapi-nested-parse::

   Hash related factories



Classes
-------

.. autoapisummary::

   cyclonedx.contrib.hash.factories.HashTypeFactory


Module Contents
---------------

.. py:class:: HashTypeFactory

   .. py:method:: from_hashlib_alg(hashlib_alg: str, content: str) -> cyclonedx.model.HashType

      Attempts to convert a hashlib-algorithm to our internal model classes.

      Args:
           hashlib_alg:
              Hash algorithm - like it is used by `hashlib`.
              Example: `sha256`.

          content:
              Hash value.

      Raises:
          `UnknownHashTypeException` if the algorithm of hash cannot be determined.

      Returns:
          An instance of `HashType`.



   .. py:method:: from_composite_str(composite_hash: str) -> cyclonedx.model.HashType

      Attempts to convert a string which includes both the Hash Algorithm and Hash Value and represent using our
      internal model classes.

      Args:
           composite_hash:
              Composite Hash string of the format `HASH_ALGORITHM`:`HASH_VALUE`.
              Example: `sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b`.

              Valid case insensitive prefixes are:
              `md5`, `sha1`, `sha256`, `sha384`, `sha512`, `blake2b256`, `blake2b384`, `blake2b512`,
              `blake2256`, `blake2384`, `blake2512`, `sha3-256`, `sha3-384`, `sha3-512`,
              `blake3`.

      Raises:
          `UnknownHashTypeException` if the type of hash cannot be determined.

      Returns:
          An instance of `HashType`.



