pylibressl.digest

Message digests

Usage example:

>>> from pylibressl.digest import SHA512
>>>
>>> data = b'Some binary data'
>>> hash = SHA512()
>>> hash_value = hash.update(data).digest()
>>>
>>> # Other possible form:
>>> # hash_value = SHA512(data).digest()

Note that you cannot call update() after digest() for the same hash instance.

Package Contents

Classes

Streebog512

Streebog (GOST R 34.11.2012) hash.

SHA512

SHA512 hash.

SHA256

Generic hash object.

BaseHash

Generic hash object.

class pylibressl.digest.Streebog512(data=None)

Bases: BaseHash

Streebog (GOST R 34.11.2012) hash.

_HASH_ID
class pylibressl.digest.SHA512(data=None)

Bases: BaseHash

SHA512 hash.

_HASH_ID
class pylibressl.digest.SHA256(data=None)

Bases: BaseHash

Generic hash object.

When implementing a digest, _HASH_ID should be set to appropriate EVP_MD* using LibreSSL EVP functions.

_HASH_ID
class pylibressl.digest.BaseHash(data=None)

Bases: object

Generic hash object.

When implementing a digest, _HASH_ID should be set to appropriate EVP_MD* using LibreSSL EVP functions.

_HASH_ID
update(self, data)

Append more data to digest.

Should not be called after digest() call. Otherwise, DigestReuseError is raised.

digest(self)

Show digest as a byte string.

classmethod size(cls)

Return size of digest in bytes.

classmethod block_size(cls)

Return block size of digest in bytes.

classmethod max_size(cls)

Maximum hash size supported by LibreSSL.