Sur cette page

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.

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