QCryptographicHash

PyQt6.QtCore.QCryptographicHash

Description

The QCryptographicHash class provides a way to generate cryptographic hashes.

QCryptographicHash can be used to generate cryptographic hashes of binary or text data.

Refer to the documentation of the Algorithm enum for a list of the supported algorithms.

Enums

Algorithm

Note: In Qt versions before 5.9, when asked to generate a SHA3 hash sum, QCryptographicHash actually calculated Keccak. If you need compatibility with SHA-3 hashes produced by those versions of Qt, use the Keccak_ enumerators. Alternatively, if source compatibility is required, define the macro QT_SHA3_KECCAK_COMPAT.

Member

Value

Description

Blake2b_160

15

Generate a BLAKE2b-160 hash sum. Introduced in Qt 6.0

Blake2b_256

16

Generate a BLAKE2b-256 hash sum. Introduced in Qt 6.0

Blake2b_384

17

Generate a BLAKE2b-384 hash sum. Introduced in Qt 6.0

Blake2b_512

18

Generate a BLAKE2b-512 hash sum. Introduced in Qt 6.0

Blake2s_128

19

Generate a BLAKE2s-128 hash sum. Introduced in Qt 6.0

Blake2s_160

20

Generate a BLAKE2s-160 hash sum. Introduced in Qt 6.0

Blake2s_224

21

Generate a BLAKE2s-224 hash sum. Introduced in Qt 6.0

Blake2s_256

22

Generate a BLAKE2s-256 hash sum. Introduced in Qt 6.0

Keccak_224

7

Generate a Keccak-224 hash sum. Introduced in Qt 5.9.2

Keccak_256

8

Generate a Keccak-256 hash sum. Introduced in Qt 5.9.2

Keccak_384

9

Generate a Keccak-384 hash sum. Introduced in Qt 5.9.2

Keccak_512

10

Generate a Keccak-512 hash sum. Introduced in Qt 5.9.2

Md4

0

Generate an MD4 hash sum

Md5

1

Generate an MD5 hash sum

Sha1

2

Generate an SHA-1 hash sum

Sha224

3

Generate an SHA-224 hash sum (SHA-2). Introduced in Qt 5.0

Sha256

4

Generate an SHA-256 hash sum (SHA-2). Introduced in Qt 5.0

Sha384

5

Generate an SHA-384 hash sum (SHA-2). Introduced in Qt 5.0

Sha3_224

RealSha3_224

Generate an SHA3-224 hash sum. Introduced in Qt 5.1

Sha3_256

RealSha3_256

Generate an SHA3-256 hash sum. Introduced in Qt 5.1

Sha3_384

RealSha3_384

Generate an SHA3-384 hash sum. Introduced in Qt 5.1

Sha3_512

RealSha3_512

Generate an SHA3-512 hash sum. Introduced in Qt 5.1

Sha512

6

Generate an SHA-512 hash sum (SHA-2). Introduced in Qt 5.0

Methods

__init__(Algorithm)

Constructs an object that can be used to create a cryptographic hash from data using method.


addData(Union[QByteArray, bytes, bytearray, memoryview])

Adds the characters in bytes to the cryptographic hash.

Note: In Qt versions prior to 6.3, this function took QByteArray, not QByteArrayView.


addData(bytes)

TODO


addData(QIODevice) bool

Reads the data from the open QIODevice device until it ends and hashes it. Returns true if reading was successful.


algorithm() Algorithm

Returns the algorithm used to generate the cryptographic hash.


@staticmethod
hash(Union[QByteArray, bytes, bytearray, memoryview], Algorithm) QByteArray

Returns the hash of data using method.

Note: In Qt versions prior to 6.3, this function took QByteArray, not QByteArrayView.

See also

hashInto().


@staticmethod
hashLength(Algorithm) int

Returns the size of the output of the selected hash method in bytes.


reset()

Resets the object.


result() QByteArray

Returns the final hash value.

See also

resultView(), toHex().


resultView() QByteArray

Returns the final hash value.

Note that the returned view remains valid only as long as the QCryptographicHash object is not modified by other means.

See also

result().


@staticmethod
supportsAlgorithm(Algorithm) bool

Returns whether the selected algorithm method is supported and if result() will return a value when the method is used.

Note: OpenSSL will be responsible for providing this information when used as a provider, otherwise true will be returned as the non-OpenSSL implementation doesn’t have any restrictions. We return false if we fail to query OpenSSL.


swap(QCryptographicHash)

Swaps this cryptographic hash with other. This operation is very fast and never fails.