Sur cette page

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`.

ConstanteValeurDescription
QCryptographicHash::Md40Génère une somme de contrôle MD4
QCryptographicHash::Md51Générer une somme de contrôle MD5
QCryptographicHash::Sha12Générer une somme de contrôle SHA-1
QCryptographicHash::Sha2243Générer une somme de contrôle SHA-224 (SHA-2). Introduit dans Qt 5.0
QCryptographicHash::Sha2564Générer une somme de contrôle SHA-256 (SHA-2). Introduit dans Qt 5.0
QCryptographicHash::Sha3845Générer une somme de contrôle SHA-384 (SHA-2). Introduit dans Qt 5.0
QCryptographicHash::Sha5126Générer une somme de contrôle SHA-512 (SHA-2). Introduit dans Qt 5.0
QCryptographicHash::Sha3_224RealSha3_224Générer une somme de contrôle SHA3-224. Introduit dans Qt 5.1
QCryptographicHash::Sha3_256RealSha3_256Génère une somme de contrôle SHA3-256. Introduit dans Qt 5.1
QCryptographicHash::Sha3_384RealSha3_384Génère une somme de contrôle SHA3-384. Introduit dans Qt 5.1
QCryptographicHash::Sha3_512RealSha3_512Génère une somme de hachage SHA3-512. Introduit dans Qt 5.1
QCryptographicHash::Keccak_2247Génère une somme de hachage Keccak-224. Introduit dans Qt 5.9.2
QCryptographicHash::Keccak_2568Génère une somme de hachage Keccak-256. Introduit dans Qt 5.9.2
QCryptographicHash::Keccak_3849Génère une somme de hachage Keccak-384. Introduit dans Qt 5.9.2
QCryptographicHash::Keccak_51210Génère une somme de hachage Keccak-512. Introduit dans Qt 5.9.2
QCryptographicHash::Blake2b_16015Génère une somme de hachage BLAKE2b-160. Introduit dans Qt 6.0
QCryptographicHash::Blake2b_25616Génère une somme de hachage BLAKE2b-256. Introduit dans Qt 6.0
QCryptographicHash::Blake2b_38417Génère une somme de hachage BLAKE2b-384. Introduit dans Qt 6.0
QCryptographicHash::Blake2b_51218Génère une somme de hachage BLAKE2b-512. Introduit dans Qt 6.0
QCryptographicHash::Blake2s_12819Génère une somme de contrôle BLAKE2s-128. Introduit dans Qt 6.0
QCryptographicHash::Blake2s_16020Génère une somme de contrôle BLAKE2s-160. Introduit dans Qt 6.0
QCryptographicHash::Blake2s_22421Génère une somme de contrôle BLAKE2s-224. Introduit dans Qt 6.0
QCryptographicHash::Blake2s_25622Gé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.