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
.
Konstante | Wert | Beschreibung |
---|---|---|
QCryptographicHash::Md4 | 0 | Erzeugt eine MD4-Hashsumme |
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 | Erzeugt eine SHA-384 Hash-Summe (SHA-2). 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 Hashsumme. Eingeführt in Qt 5.1 |
QCryptographicHash::Sha3_256 | RealSha3_256 | Erzeugt eine SHA3-256 Hashsumme. Eingeführt in Qt 5.1 |
QCryptographicHash::Sha3_384 | RealSha3_384 | Erzeugt eine SHA3-384 Hashsumme. Eingeführt in Qt 5.1 |
QCryptographicHash::Sha3_512 | RealSha3_512 | Erzeugt eine SHA3-512 Hashsumme. 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 Hashsumme. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_160 | 20 | Erzeugt eine BLAKE2s-160 Hashsumme. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_224 | 21 | Erzeugt eine BLAKE2s-224 Hashsumme. Eingeführt in Qt 6.0 |
QCryptographicHash::Blake2s_256 | 22 | Erzeugt 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.