SHA3-256

SHA3-256 belongs to the SHA-3 family of cryptographic hashes, as specified in FIPS 202.

The hash function produces the 256 bit digest of a message:

>>> from Crypto.Hash import SHA3_256
>>>
>>> h_obj = SHA3_256.new()
>>> h_obj.update(b'Some data')
>>> print h_obj.hexdigest()

SHA stands for Secure Hash Algorithm.

class Crypto.Hash.SHA3_256.SHA3_256_Hash(data, update_after_digest)

A SHA3-256 hash object. Do not instantiate directly. Use the new() function.

Variables:
  • oid (string) – ASN.1 Object ID

  • digest_size (integer) – the size in bytes of the resulting hash

copy()

Return a copy (“clone”) of the hash object.

The copy will have the same internal state as the original hash object. This can be used to efficiently compute the digests of strings that share a common initial substring.

Returns:

A hash object of the same type

digest()

Return the binary (non-printable) digest of the message that has been hashed so far.

Returns:

The hash digest, computed over the data processed so far. Binary form.

Return type:

byte string

hexdigest()

Return the printable digest of the message that has been hashed so far.

Returns:

The hash digest, computed over the data processed so far. Hexadecimal encoded.

Return type:

string

new(data=None)

Create a fresh SHA3-256 hash object.

update(data)

Continue hashing of a message by consuming the next chunk of data.

Parameters:

data (byte string/byte array/memoryview) – The next chunk of the message being hashed.

Crypto.Hash.SHA3_256.new(*args, **kwargs)

Create a new hash object.

Parameters:
  • data (byte string/byte array/memoryview) – The very first chunk of the message to hash. It is equivalent to an early call to update().

  • update_after_digest (boolean) – Whether digest() can be followed by another update() (default: False).

Return:

A SHA3_256_Hash hash object