QPasswordDigestor#
The QPasswordDigestor namespace contains functions which you can use to generate hashes or keys. More…
Synopsis#
Static functions#
def
deriveKeyPbkdf1
(algorithm, password, salt, iterations, dkLen)def
deriveKeyPbkdf2
(algorithm, password, salt, iterations, dkLen)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
- static PySide6.QtNetwork.QPasswordDigestor.deriveKeyPbkdf1(algorithm, password, salt, iterations, dkLen)#
- Parameters:
algorithm –
Algorithm
password –
PySide6.QtCore.QByteArray
salt –
PySide6.QtCore.QByteArray
iterations – int
dkLen – int
- Return type:
Returns a hash computed using the PBKDF1-algorithm as defined in RFC 8018, section 5.1.
The function takes the data
and salt
, and then hashes it repeatedly for iterations
iterations using the specified hash algorithm
. If the resulting hash is longer than dkLen
then it is truncated before it is returned.
This function only supports SHA-1 and MD5! The max output size is 160 bits (20 bytes) when using SHA-1, or 128 bits (16 bytes) when using MD5. Specifying a value for dkLen
which is greater than this results in a warning and an empty QByteArray is returned. To programmatically check this limit you can use QCryptographicHash::hashLength. Furthermore: the salt
must always be 8 bytes long!
Note
This function is provided for use with legacy applications and all new applications are recommended to use PBKDF2
.
See also
deriveKeyPbkdf2
hashLength
- static PySide6.QtNetwork.QPasswordDigestor.deriveKeyPbkdf2(algorithm, password, salt, iterations, dkLen)#
- Parameters:
algorithm –
Algorithm
password –
PySide6.QtCore.QByteArray
salt –
PySide6.QtCore.QByteArray
iterations – int
dkLen – int
- Return type:
Derive a key using the PBKDF2-algorithm as defined in RFC 8018, section 5.2.
This function takes the data
and salt
, and then applies HMAC-X, where the X is algorithm
, repeatedly. It internally concatenates intermediate results to the final output until at least dkLen
amount of bytes have been computed and it will execute HMAC-X iterations
times each time a concatenation is required. The total number of times it will execute HMAC-X depends on iterations
, dkLen
and algorithm
and can be calculated as iterations * ceil(dkLen / QCryptographicHash::hashLength(algorithm))
.
See also
deriveKeyPbkdf1
QMessageAuthenticationCodeQCryptographicHash