docs: def _get_hash_object(hash_algo_name):
      """Create a hash object based on given algorithm.
  
      :param hash_algo_name: name of the hashing algorithm.
      :raises: InvalidInputError, on unsupported or invalid input.
      :returns: a hash object based on the given named algorithm.
      """
      algorithms = (hashlib.algorithms_guaranteed if six.PY3
                    else hashlib.algorithms)
      if hash_algo_name not in algorithms:
          msg = ("Unsupported/Invalid hash name '%s' provided."
                 % hash_algo_name)
          raise exception.InvalidInputError(msg)
  
      return getattr(hashlib, hash_algo_name)()