QCryptographicHash Class

Die Klasse QCryptographicHash bietet eine Möglichkeit, kryptographische Hashes zu erzeugen. Mehr...

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

Hinweis: Alle Funktionen in 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)

Detaillierte Beschreibung

QCryptographicHash kann verwendet werden, um kryptografische Hashes von Binär- oder Textdaten zu erzeugen.

Eine Liste der unterstützten Algorithmen finden Sie in der Dokumentation des QCryptographicHash::Algorithm enum.

Dokumentation der Mitgliedstypen

enum QCryptographicHash::Algorithm

Hinweis: In Qt-Versionen vor 5.9 hat QCryptographicHash bei der Aufforderung, eine SHA3-Hash-Summe zu erzeugen, tatsächlich Keccak berechnet. Wenn Sie Kompatibilität mit SHA-3-Hashes benötigen, die von diesen Qt-Versionen erzeugt wurden, verwenden Sie die Keccak_ Enumeratoren. Alternativ, wenn Quellcode-Kompatibilität erforderlich ist, definieren Sie das Makro QT_SHA3_KECCAK_COMPAT.

KonstanteWertBeschreibung
QCryptographicHash::Md40Erzeugt eine MD4-Hashsumme
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::Sha3845Erzeugt eine SHA-384 Hash-Summe (SHA-2). 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 Hashsumme. Eingeführt in Qt 5.1
QCryptographicHash::Sha3_256RealSha3_256Erzeugt eine SHA3-256 Hashsumme. Eingeführt in Qt 5.1
QCryptographicHash::Sha3_384RealSha3_384Erzeugt eine SHA3-384 Hashsumme. Eingeführt in Qt 5.1
QCryptographicHash::Sha3_512RealSha3_512Erzeugt eine SHA3-512 Hashsumme. 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 Hashsumme. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_16020Erzeugt eine BLAKE2s-160 Hashsumme. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_22421Erzeugt eine BLAKE2s-224 Hashsumme. Eingeführt in Qt 6.0
QCryptographicHash::Blake2s_25622Erzeugt eine BLAKE2s-256 Hashsumme. Eingeführt in Qt 6.0

Dokumentation der Mitgliedsfunktionen

[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, wobei buffer zum Speichern des Ergebnisses verwendet wird.

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

Der Rückgabewert ist ein Sub-Span von buffer, es sei denn, buffer hat eine unzureichende Größe. In diesem Fall wird QByteArrayView als Null zurückgegeben.

Diese Funktion wurde in Qt 6.8 eingeführt.

Siehe auch hash().

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

Konstruiert ein Objekt, das zur Erstellung eines kryptografischen Hashes aus Daten unter Verwendung von method verwendet werden kann.

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

Move-konstruiert einen neuen QCryptographicHash aus other.

Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.

Diese Funktion wurde in Qt 6.5 eingeführt.

[noexcept] QCryptographicHash::~QCryptographicHash()

Zerstört das Objekt.

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

Fügt die Zeichen in bytes zum kryptographischen Hash hinzu.

Hinweis: In Qt-Versionen vor 6.3 nahm diese Funktion QByteArray und nicht QByteArrayView.

bool QCryptographicHash::addData(QIODevice *device)

Liest die Daten aus dem geöffneten QIODevice device bis zu dessen Ende und hasht sie. Gibt true zurück, wenn das Lesen erfolgreich war.

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

Gibt den Algorithmus zurück, der zur Erzeugung des kryptographischen Hashes 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 und nicht QByteArrayView.

Siehe auch hashInto().

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

Gibt die Größe der Ausgabe des ausgewählten Hashes method in Bytes 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 ist, wie das QCryptographicHash Objekt nicht anderweitig 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 hat. Wir geben false zurück, wenn wir OpenSSL nicht abfragen können.

Diese Funktion wurde in Qt 6.5 eingeführt.

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

Tauscht diesen kryptografischen Hash mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

Diese Funktion wurde in Qt 6.5 eingeführt.

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

Verschieben - weist other dieser Instanz QCryptographicHash zu.

Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen Zerstörung und Zuweisung eines neuen Wertes sind.

Diese Funktion wurde in Qt 6.5 eingeführt.

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