QCryptographicHash Class
La classe QCryptographicHash permet de générer des hachages cryptographiques. Plus d'informations...
| En-tête : | #include <QCryptographicHash> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
Note : Toutes les fonctions de cette classe sont réentrantes.
Types publics
| enum | Algorithm { Md4, Md5, Sha1, Sha224, Sha256, …, Blake2s_256 } |
Fonctions publiques
| QCryptographicHash(QCryptographicHash::Algorithm method) | |
(since 6.5) | QCryptographicHash(QCryptographicHash &&other) |
| ~QCryptographicHash() | |
| void | addData(QByteArrayView bytes) |
| bool | addData(QIODevice *device) |
(since 6.5) QCryptographicHash::Algorithm | algorithm() const |
| void | reset() |
| QByteArray | result() const |
(since 6.3) QByteArrayView | resultView() const |
(since 6.5) void | swap(QCryptographicHash &other) |
(since 6.5) QCryptographicHash & | operator=(QCryptographicHash &&other) |
Membres publics statiques
| QByteArray | hash(QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<char> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<std::byte> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<std::byte> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
| int | hashLength(QCryptographicHash::Algorithm method) |
(since 6.5) bool | supportsAlgorithm(QCryptographicHash::Algorithm method) |
Description détaillée
QCryptographicHash peut être utilisé pour générer des hachages cryptographiques de données binaires ou textuelles.
Se référer à la documentation de l'enum QCryptographicHash::Algorithm pour une liste des algorithmes supportés.
Type de membre Documentation
enum QCryptographicHash::Algorithm
Note : Dans les versions de Qt antérieures à la 5.9, lorsqu'il était demandé de générer une somme de hachage SHA3, QCryptographicHash calculait en fait Keccak. Si vous avez besoin d'une compatibilité avec les hachages SHA-3 produits par ces versions de Qt, utilisez les énumérateurs Keccak_. Alternativement, si la compatibilité avec les sources est requise, définissez la macro QT_SHA3_KECCAK_COMPAT.
| Constante | Valeur | Description |
|---|---|---|
QCryptographicHash::Md4 | 0 | Génère une somme de hachage MD4 |
QCryptographicHash::Md5 | 1 | Générer une somme de hachage MD5 |
QCryptographicHash::Sha1 | 2 | Générer une somme de hachage SHA-1 |
QCryptographicHash::Sha224 | 3 | Génère une somme de hachage SHA-224 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha256 | 4 | Générer une somme de hachage SHA-256 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha384 | 5 | Générer une somme de hachage SHA-384 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha512 | 6 | Générer une somme de hachage SHA-512 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha3_224 | RealSha3_224 | Génère une somme de hachage SHA3-224. Introduit dans Qt 5.1 |
QCryptographicHash::Sha3_256 | RealSha3_256 | Génère une somme de hachage SHA3-256. Introduit dans Qt 5.1 |
QCryptographicHash::Sha3_384 | RealSha3_384 | Générer une somme de hachage SHA3-384. Introduit dans Qt 5.1 |
QCryptographicHash::Sha3_512 | RealSha3_512 | Générer une somme de hachage SHA3-512. Introduit dans Qt 5.1 |
QCryptographicHash::Keccak_224 | 7 | Générer une somme de hachage Keccak-224. Introduit dans Qt 5.9.2 |
QCryptographicHash::Keccak_256 | 8 | Génère une somme de hachage Keccak-256. Introduit dans Qt 5.9.2 |
QCryptographicHash::Keccak_384 | 9 | Génère une somme de hachage Keccak-384. Introduit dans Qt 5.9.2 |
QCryptographicHash::Keccak_512 | 10 | Génère une somme de hachage Keccak-512. Introduit dans Qt 5.9.2 |
QCryptographicHash::Blake2b_160 | 15 | Génère une somme de hachage BLAKE2b-160. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2b_256 | 16 | Générer une somme de hachage BLAKE2b-256. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2b_384 | 17 | Générer une somme de hachage BLAKE2b-384. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2b_512 | 18 | Générer une somme de hachage BLAKE2b-512. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_128 | 19 | Générer une somme de hachage BLAKE2s-128. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_160 | 20 | Générer une somme de hachage BLAKE2s-160. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_224 | 21 | Générer une somme de hachage BLAKE2s-224. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_256 | 22 | Générer une somme de hachage BLAKE2s-256. Introduit dans Qt 6.0 |
Documentation des fonctions membres
[explicit] QCryptographicHash::QCryptographicHash(QCryptographicHash::Algorithm method)
Construit un objet qui peut être utilisé pour créer un hachage cryptographique à partir de données en utilisant method.
[noexcept, since 6.5] QCryptographicHash::QCryptographicHash(QCryptographicHash &&other)
Move-construit un nouveau QCryptographicHash à partir de other.
Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'assignation d'une nouvelle valeur.
Cette fonction a été introduite dans Qt 6.5.
[noexcept] QCryptographicHash::~QCryptographicHash()
Détruit l'objet.
[noexcept] void QCryptographicHash::addData(QByteArrayView bytes)
Ajoute les caractères de bytes au hachage cryptographique.
Remarque : dans les versions de Qt antérieures à la version 6.3, cette fonction prenait QByteArray, et non QByteArrayView.
bool QCryptographicHash::addData(QIODevice *device)
Lit les données de l'application ouverte QIODevice device jusqu'à ce qu'elle se termine et les hachure. Retourne true si la lecture a réussi.
[noexcept, since 6.5] QCryptographicHash::Algorithm QCryptographicHash::algorithm() const
Renvoie l'algorithme utilisé pour générer le hachage cryptographique.
Cette fonction a été introduite dans Qt 6.5.
[static] QByteArray QCryptographicHash::hash(QByteArrayView data, QCryptographicHash::Algorithm method)
Renvoie le hachage de data en utilisant method.
Remarque : Dans les versions de Qt antérieures à la version 6.3, cette fonction prenait QByteArray, et non QByteArrayView.
Voir aussi hashInto().
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<char> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
Renvoie le hachage de data en utilisant method, en utilisant buffer pour stocker le résultat.
Si data est un span, il ajoute toutes les vues du byte array au hash, dans l'ordre indiqué.
La valeur de retour sera un sous-span de buffer, à moins que buffer ne soit de taille insuffisante, auquel cas QByteArrayView sera renvoyé à l'état nul.
Ces fonctions ont été introduites dans Qt 6.8.
Voir aussi hash().
[static] int QCryptographicHash::hashLength(QCryptographicHash::Algorithm method)
Renvoie la taille de la sortie du hachage sélectionné method en octets.
[noexcept] void QCryptographicHash::reset()
Réinitialise l'objet.
QByteArray QCryptographicHash::result() const
Renvoie la valeur de hachage finale.
Voir aussi resultView() et QByteArray::toHex().
[noexcept, since 6.3] QByteArrayView QCryptographicHash::resultView() const
Renvoie la valeur de hachage finale.
Notez que la vue renvoyée reste valide tant que l'objet QCryptographicHash n'est pas modifié par d'autres moyens.
Cette fonction a été introduite dans Qt 6.3.
Voir aussi result().
[static, since 6.5] bool QCryptographicHash::supportsAlgorithm(QCryptographicHash::Algorithm method)
Renvoie si l'algorithme sélectionné method est pris en charge et si result() renvoie une valeur lorsque method est utilisé.
Remarque : OpenSSL est chargé de fournir ces informations lorsqu'il est utilisé en tant que fournisseur, sinon true sera renvoyé car l'implémentation non-OpenSSL n'a pas de restrictions. Nous renvoyons false si nous ne parvenons pas à interroger OpenSSL.
Cette fonction a été introduite dans Qt 6.5.
[noexcept, since 6.5] void QCryptographicHash::swap(QCryptographicHash &other)
Échange ce hachage cryptographique avec other. Cette opération est très rapide et n'échoue jamais.
Cette fonction a été introduite dans Qt 6.5.
[noexcept, since 6.5] QCryptographicHash &QCryptographicHash::operator=(QCryptographicHash &&other)
Move-assigne other à cette instance QCryptographicHash.
Remarque : l'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valables sont la destruction et l'attribution d'une nouvelle valeur.
Cette fonction a été introduite dans Qt 6.5.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.