diff options
author | Linus Jahn <lnj@kaidan.im> | 2022-09-10 20:23:14 +0200 |
---|---|---|
committer | Linus Jahn <lnj@kaidan.im> | 2022-09-12 20:47:24 +0200 |
commit | cd37a773ca0ceb3718875295bd244fb462893a0d (patch) | |
tree | d5ebdcee44c409c45a3aae282a3eda47aada8076 | |
parent | 358248b4950131711ae408da9aa30d41c5143e4f (diff) |
QCryptographicHash: Add getter for algorithm()
This can be helpful when you calculate multiple hashes, store them in a
vector and you want to know which result belongs to which algorithm.
[ChangeLog][QtCore][QCryptographicHash] Added getter algorithm().
Change-Id: Ifcf78536f215619a6e2e3035a95598327d0ed733
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r-- | src/corelib/tools/qcryptographichash.cpp | 10 | ||||
-rw-r--r-- | src/corelib/tools/qcryptographichash.h | 1 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp index 3f6075f2aa..b9984f0b01 100644 --- a/src/corelib/tools/qcryptographichash.cpp +++ b/src/corelib/tools/qcryptographichash.cpp @@ -364,6 +364,16 @@ void QCryptographicHash::reset() noexcept d->reset(); } +/*! + Returns the algorithm used to generate the cryptographic hash. + + \since 6.5 +*/ +QCryptographicHash::Algorithm QCryptographicHash::algorithm() const noexcept +{ + return d->method; +} + void QCryptographicHashPrivate::reset() noexcept { switch (method) { diff --git a/src/corelib/tools/qcryptographichash.h b/src/corelib/tools/qcryptographichash.h index 94fc82783b..5f9104fe9f 100644 --- a/src/corelib/tools/qcryptographichash.h +++ b/src/corelib/tools/qcryptographichash.h @@ -71,6 +71,7 @@ public: void swap(QCryptographicHash &other) noexcept { qt_ptr_swap(d, other.d); } void reset() noexcept; + [[nodiscard]] Algorithm algorithm() const noexcept; #if QT_DEPRECATED_SINCE(6, 4) QT_DEPRECATED_VERSION_X_6_4("Use the QByteArrayView overload instead") diff --git a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp index 5445963be8..2151c69323 100644 --- a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp +++ b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp @@ -51,6 +51,8 @@ void tst_QCryptographicHash::repeated_result() QCryptographicHash::Algorithm _algo = QCryptographicHash::Algorithm(algo); QCryptographicHash hash(_algo); + QCOMPARE_EQ(hash.algorithm(), _algo); + QFETCH(QByteArray, first); hash.addData(first); |