QCryptographicHash Class
La classe QCryptographicHash permet de générer des hachages cryptographiques. En savoir plus...
| En-tête : | #include <QCryptographicHash> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
Remarque : 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 permet de générer des hachages cryptographiques à partir de données binaires ou textuelles.
Reportez-vous à la documentation de l'énumération ` QCryptographicHash::Algorithm ` pour obtenir la liste des algorithmes pris en charge.
Documentation sur les types de membres
enum QCryptographicHash::Algorithm
Remarque : dans les versions de Qt antérieures à la version 5.9, lorsqu’on lui demandait de générer une somme de contrôle SHA-3, la fonction ` QCryptographicHash ` calculait en réalité une somme de contrôle Keccak. Si vous avez besoin d’une compatibilité avec les sommes de contrôle SHA-3 produites par ces versions de Qt, utilisez les énumérateurs ` Keccak_ `. Sinon, si la compatibilité au niveau du code source est requise, définissez la macro ` QT_SHA3_KECCAK_COMPAT`.
| Constante | Valeur | Description |
|---|---|---|
QCryptographicHash::Md4 | 0 | Génère une somme de contrôle MD4 |
QCryptographicHash::Md5 | 1 | Générer une somme de contrôle MD5 |
QCryptographicHash::Sha1 | 2 | Générer une somme de contrôle SHA-1 |
QCryptographicHash::Sha224 | 3 | Générer une somme de contrôle SHA-224 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha256 | 4 | Générer une somme de contrôle SHA-256 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha384 | 5 | Générer une somme de contrôle SHA-384 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha512 | 6 | Générer une somme de contrôle SHA-512 (SHA-2). Introduit dans Qt 5.0 |
QCryptographicHash::Sha3_224 | RealSha3_224 | Générer une somme de contrôle SHA3-224. Introduit dans Qt 5.1 |
QCryptographicHash::Sha3_256 | RealSha3_256 | Génère une somme de contrôle SHA3-256. Introduit dans Qt 5.1 |
QCryptographicHash::Sha3_384 | RealSha3_384 | Génère une somme de contrôle SHA3-384. Introduit dans Qt 5.1 |
QCryptographicHash::Sha3_512 | RealSha3_512 | Génère une somme de hachage SHA3-512. Introduit dans Qt 5.1 |
QCryptographicHash::Keccak_224 | 7 | Génère 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ère une somme de hachage BLAKE2b-256. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2b_384 | 17 | Génère une somme de hachage BLAKE2b-384. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2b_512 | 18 | Génère une somme de hachage BLAKE2b-512. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_128 | 19 | Génère une somme de contrôle BLAKE2s-128. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_160 | 20 | Génère une somme de contrôle BLAKE2s-160. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_224 | 21 | Génère une somme de contrôle BLAKE2s-224. Introduit dans Qt 6.0 |
QCryptographicHash::Blake2s_256 | 22 | Génère une somme de contrôle BLAKE2s-256. Introduit dans Qt 6.0 |
Documentation des fonctions membres
[explicit] QCryptographicHash::QCryptographicHash(QCryptographicHash::Algorithm method)
Crée un objet permettant de générer un hachage cryptographique à partir de données à l'aide de la fonction ` method`.
[noexcept, since 6.5] QCryptographicHash::QCryptographicHash(QCryptographicHash &&other)
La fonction `Move` construit un nouvel objet `QCryptographicHash` à partir de ` other`.
Remarque : l'objet d'origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'affectation 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 contenus dans bytes au hachage cryptographique.
Remarque : dans les versions de Qt antérieures à la version 6.3, cette fonction prenait en paramètre ` QByteArray`, et non ` QByteArrayView`.
bool QCryptographicHash::addData(QIODevice *device)
Lit les données de la connexion ouverte QIODevice device jusqu’à la fin, puis les soumet à un hachage. Renvoie true si la lecture s’est déroulée correctement.
[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 à l'aide de method.
Remarque : dans les versions de Qt antérieures à la version 6.3, cette fonction prenait en paramètre QByteArray, et non QByteArrayView.
Voir également hashInto().
[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<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, 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<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
Renvoie le hachage de data à l'aide de method, en utilisant buffer pour stocker le résultat.
Si data est un span, ajoute toutes les vues de tableau d’octets au hachage, dans l’ordre indiqué.
La valeur renvoyée sera un sous-span de buffer, sauf si buffer n’est pas suffisamment grand, auquel cas un QByteArrayView nul est renvoyé.
Ces fonctions ont été introduites dans Qt 6.8.
Voir également hash().
[static] int QCryptographicHash::hashLength(QCryptographicHash::Algorithm method)
Renvoie la taille, en octets, de la sortie de l'method s de hachage sélectionnée.
[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 ne reste valide que 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)
Indique si l'algorithme sélectionné method est pris en charge et si la fonction result() renverra une valeur lorsque l'method est utilisée.
Remarque : OpenSSL se chargera de fournir ces informations lorsqu’il est utilisé en tant que fournisseur ; dans le cas contraire, la valeur true sera renvoyée, car l’implémentation non OpenSSL ne comporte aucune restriction. Nous renvoyons false si l’interrogation d’OpenSSL échoue.
Cette fonction a été introduite dans Qt 6.5.
[noexcept, since 6.5] void QCryptographicHash::swap(QCryptographicHash &other)
Permet d'échanger ce hachage cryptographique contre other. Cette opération est très rapide et ne rencontre jamais d'échec.
Cette fonction a été introduite dans Qt 6.5.
[noexcept, since 6.5] QCryptographicHash &QCryptographicHash::operator=(QCryptographicHash &&other)
Cette opération attribue la valeur de other à cette instance de QCryptographicHash.
Remarque : l’objet d’origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation 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.