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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QCryptographicHash::Md4 | 0 | Erzeugt eine MD4-Hash-Summe |
QCryptographicHash::Md5 | 1 | Erzeugt eine MD5-Hash-Summe |
QCryptographicHash::Sha1 | 2 | Erzeugt eine SHA-1-Hash-Summe |
QCryptographicHash::Sha224 | 3 | Erzeugt eine SHA-224-Hash-Summe (SHA-2). Eingeführt in Qt 5.0 |
QCryptographicHash::Sha256 | 4 | Erzeugt eine SHA-256-Hash-Summe (SHA-2). Eingeführt in Qt 5.0 |
QCryptographicHash::Sha384 | 5 | Eine SHA-384-Hash-Summe (SHA-2) generieren. Eingeführt in Qt 5.0 |
QCryptographicHash::Sha512 | 6 | Erzeugt eine SHA-512-Hash-Summe (SHA-2). Eingeführt in Qt 5.0 |
QCryptographicHash::Sha3_224 | RealSha3_224 | Erzeugt eine SHA3-224-Hash-Summe. Eingeführt in Qt 5.1 |
QCryptographicHash::Sha3_256 | RealSha3_256 | Erzeugt eine SHA3-256-Hash-Summe. Eingeführt in Qt 5.1 |
QCryptographicHash::Sha3_384 | RealSha3_384 | Erzeugt eine SHA3-384-Hash-Summe. Eingeführt in Qt 5.1 |
QCryptographicHash::Sha3_512 | RealSha3_512 | Erzeugt eine SHA3-512-Hash-Summe. Eingeführt in Qt 5.1 |
QCryptographicHash::Keccak_224 | 7 | Erzeugt eine Keccak-224-Hash-Summe. Eingeführt in Qt 5.9.2 |
QCryptographicHash::Keccak_256 | 8 | Erzeugt eine Keccak-256-Hash-Summe. Eingeführt in Qt 5.9.2 |
QCryptographicHash::Keccak_384 | 9 | Erzeugt eine Keccak-384-Hash-Summe. Eingeführt in Qt 5.9.2 |
QCryptographicHash::Keccak_512 | 10 | Erzeugt eine Keccak-512-Hash-Summe. Eingeführt in Qt 5.9.2 |
QCryptographicHash::Blake2b_160 | 15 | Erzeugt eine BLAKE2b-160-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2b_256 | 16 | Erzeugt eine BLAKE2b-256-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2b_384 | 17 | Erzeugt eine BLAKE2b-384-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2b_512 | 18 | Erzeugt eine BLAKE2b-512-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_128 | 19 | Erzeugt eine BLAKE2s-128-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_160 | 20 | Erzeugt eine BLAKE2s-160-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_224 | 21 | Erzeugt eine BLAKE2s-224-Hash-Summe. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_256 | 22 | Erzeugt 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.