Hash¶
netutils.hash
¶
Functions for hashing data.
hash_data(data, algorithm)
¶
Convenience function primarily built to expose hashlib to Jinja.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
bytes
|
Data to hash. |
required |
algorithm |
str
|
Hashing algorithm to use. |
required |
Returns:
Name | Type | Description |
---|---|---|
bytes |
Any
|
Hashed data. |
Raises:
Type | Description |
---|---|
AttributeError
|
Invalid algorithm specified. |
Examples:
>>> from netutils.hash import hash_data
>>> hash_data("test", "md5")
'098f6bcd4621d373cade4e832627b4f6'
>>> from jinja2 import Environment
>>> from netutils.utils import jinja2_convenience_function
>>>
>>> env = Environment(trim_blocks=True, lstrip_blocks=True)
>>> env.filters.update(jinja2_convenience_function())
>>> template_str = "{{ 'test' | hash_data('md5') }}"
>>> template = env.from_string(template_str)
>>> result = template.render()
>>> print(result)
098f6bcd4621d373cade4e832627b4f6