Auf dieser Seite

QCryptographicHash Class

Die Klasse „QCryptographicHash“ bietet eine Möglichkeit, kryptografische Hashwerte zu generieren. Mehr...

Header: #include <QCryptographicHash>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Typen

enum Algorithm { Md4, Md5, Sha1, Sha224, Sha256, …, Blake2s_256 }

Öffentliche Funktionen

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)

Statische öffentliche Mitglieder

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)

Ausführliche Beschreibung

Mit „QCryptographicHash“ lassen sich kryptografische Hashes von Binär- oder Textdaten erzeugen.

Eine Liste der unterstützten Algorithmen finden Sie in der Dokumentation zur Enumeration „ QCryptographicHash::Algorithm “.

Dokumentation zu den Mitgliedstypen

enum QCryptographicHash::Algorithm

Hinweis: In Qt-Versionen vor 5.9 berechnete „ QCryptographicHash “ bei der Anforderung einer SHA-3-Hash-Summe tatsächlich Keccak. Wenn Sie Kompatibilität mit SHA-3-Hashes benötigen, die von diesen Qt-Versionen erzeugt wurden, verwenden Sie die Enumeratoren „ Keccak_ “. Alternativ können Sie, falls Quellkompatibilität erforderlich ist, das Makro „ QT_SHA3_KECCAK_COMPAT “ definieren.

KonstanteWertBeschreibung
QCryptographicHash::Md40Erzeugt eine MD4-Hash-Summe
QCryptographicHash::Md51Erzeugt eine MD5-Hash-Summe
QCryptographicHash::Sha12Erzeugt eine SHA-1-Hash-Summe
QCryptographicHash::Sha2243Erzeugt eine SHA-224-Hash-Summe (SHA-2). Eingeführt in Qt 5.0
QCryptographicHash::Sha2564Erzeugt eine SHA-256-Hash-Summe (SHA-2). Eingeführt in Qt 5.0
QCryptographicHash::Sha3845Eine SHA-384-Hash-Summe (SHA-2) generieren. Eingeführt in Qt 5.0
QCryptographicHash::Sha5126Erzeugt eine SHA-512-Hash-Summe (SHA-2). Eingeführt in Qt 5.0
QCryptographicHash::Sha3_224RealSha3_224Erzeugt eine SHA3-224-Hash-Summe. Eingeführt in Qt 5.1
QCryptographicHash::Sha3_256RealSha3_256Erzeugt eine SHA3-256-Hash-Summe. Eingeführt in Qt 5.1
QCryptographicHash::Sha3_384RealSha3_384Erzeugt eine SHA3-384-Hash-Summe. Eingeführt in Qt 5.1
QCryptographicHash::Sha3_512RealSha3_512Erzeugt eine SHA3-512-Hash-Summe. Eingeführt in Qt 5.1
QCryptographicHash::Keccak_2247Erzeugt eine Keccak-224-Hash-Summe. Eingeführt in Qt 5.9.2
QCryptographicHash::Keccak_2568Erzeugt eine Keccak-256-Hash-Summe. Eingeführt in Qt 5.9.2
QCryptographicHash::Keccak_3849Erzeugt eine Keccak-384-Hash-Summe. Eingeführt in Qt 5.9.2
QCryptographicHash::Keccak_51210Erzeugt eine Keccak-512-Hash-Summe. Eingeführt in Qt 5.9.2
QCryptographicHash::Blake2b_16015Erzeugt eine BLAKE2b-160-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2b_25616Erzeugt eine BLAKE2b-256-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2b_38417Erzeugt eine BLAKE2b-384-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2b_51218Erzeugt eine BLAKE2b-512-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_12819Erzeugt eine BLAKE2s-128-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_16020Erzeugt eine BLAKE2s-160-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_22421Erzeugt eine BLAKE2s-224-Hash-Summe. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_25622Erzeugt eine BLAKE2s-256-Hash-Summe. Eingeführt in Qt 6.0

Dokumentation zu den Mitgliedsfunktionen

[explicit] QCryptographicHash::QCryptographicHash(QCryptographicHash::Algorithm method)

Erstellt ein Objekt, mit dem sich mithilfe von „ method “ ein kryptografischer Hash aus Daten generieren lässt.

[noexcept, since 6.5] QCryptographicHash::QCryptographicHash(QCryptographicHash &&other)

Erstellt mittels „Move“ ein neues QCryptographicHash-Objekt aus „ other “.

Hinweis: Das verschobene Objekt ` other ` befindet sich in einem teilweise initialisierten Zustand, in dem nur die Zerstörung und die Zuweisung eines neuen Werts zulässig sind.

Diese Funktion wurde in Qt 6.5 eingeführt.

[noexcept] QCryptographicHash::~QCryptographicHash()

Löscht das Objekt.

[noexcept] void QCryptographicHash::addData(QByteArrayView bytes)

Fügt die Zeichen in „ bytes “ zum kryptografischen Hash hinzu.

Hinweis: In Qt-Versionen vor 6.3 nahm diese Funktion „ QByteArray “ entgegen, nicht „ QByteArrayView “.

bool QCryptographicHash::addData(QIODevice *device)

Liest die Daten aus der geöffneten Datei „ QIODevice “ ( device ), bis das Ende der Datei erreicht ist, und berechnet den Hashwert. Gibt „ true “ zurück, wenn das Einlesen erfolgreich war.

[noexcept, since 6.5] QCryptographicHash::Algorithm QCryptographicHash::algorithm() const

Gibt den Algorithmus zurück, der zur Erzeugung des kryptografischen Hashs verwendet wurde.

Diese Funktion wurde in Qt 6.5 eingeführt.

[static] QByteArray QCryptographicHash::hash(QByteArrayView data, QCryptographicHash::Algorithm method)

Gibt den Hash von data unter Verwendung von method zurück.

Hinweis: In Qt-Versionen vor 6.3 nahm diese Funktion „ QByteArray “ als Argument entgegen, nicht „ QByteArrayView “.

Siehe auch 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)

Gibt den Hash von ` data ` unter Verwendung von ` method` zurück und speichert das Ergebnis unter ` buffer `.

Wenn „ data “ ein Span ist, werden alle Byte-Array-Ansichten in der angegebenen Reihenfolge zum Hash hinzugefügt.

Der Rückgabewert ist ein Teil-Span von ` buffer`, es sei denn, ` buffer ` ist nicht groß genug; in diesem Fall wird ein leerer ` QByteArrayView ` zurückgegeben.

Diese Funktionen wurden in Qt 6.8 eingeführt.

Siehe auch ` hash()`.

[static] int QCryptographicHash::hashLength(QCryptographicHash::Algorithm method)

Gibt die Größe der Ausgabe des ausgewählten Hash- method s in Byte zurück.

[noexcept] void QCryptographicHash::reset()

Setzt das Objekt zurück.

QByteArray QCryptographicHash::result() const

Gibt den endgültigen Hash-Wert zurück.

Siehe auch resultView() und QByteArray::toHex().

[noexcept, since 6.3] QByteArrayView QCryptographicHash::resultView() const

Gibt den endgültigen Hash-Wert zurück.

Beachten Sie, dass die zurückgegebene Ansicht nur so lange gültig bleibt, wie das ` QCryptographicHash `-Objekt nicht auf andere Weise verändert wird.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch ` result()`.

[static, since 6.5] bool QCryptographicHash::supportsAlgorithm(QCryptographicHash::Algorithm method)

Gibt zurück, ob der ausgewählte Algorithmus method unterstützt wird und ob result() einen Wert zurückgibt, wenn method verwendet wird.

Hinweis: OpenSSL ist für die Bereitstellung dieser Informationen verantwortlich, wenn es als Anbieter verwendet wird; andernfalls wird „ true “ zurückgegeben, da die Nicht-OpenSSL-Implementierung keine Einschränkungen aufweist. Wir geben „ false “ zurück, wenn die Abfrage bei OpenSSL fehlschlägt.

Diese Funktion wurde in Qt 6.5 eingeführt.

[noexcept, since 6.5] void QCryptographicHash::swap(QCryptographicHash &other)

Ersetzt diesen kryptografischen Hash durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

Diese Funktion wurde in Qt 6.5 eingeführt.

[noexcept, since 6.5] QCryptographicHash &QCryptographicHash::operator=(QCryptographicHash &&other)

Weist „ other “ dieser Instanz von „ QCryptographicHash “ zu.

Hinweis: Das Objekt „ other “, aus dem die Zuweisung erfolgt, wird in einen teilweise initialisierten Zustand versetzt, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

Diese Funktion wurde in Qt 6.5 eingeführt.

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