From e1d1b5c7655be6545b6e27687d29c53139949dbd Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sat, 1 Oct 2022 18:53:44 +0200 Subject: FileSharingManager: Also generate SHA3-256 or BLAKE2b256 hashes The file sharing manager now generates SHA-256+SHA3-256 with Qt 5 and SHA-256+BLAKE2b256 with Qt 6. --- src/client/QXmppFileSharingManager.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/client/QXmppFileSharingManager.cpp') diff --git a/src/client/QXmppFileSharingManager.cpp b/src/client/QXmppFileSharingManager.cpp index c72b9632..54e29086 100644 --- a/src/client/QXmppFileSharingManager.cpp +++ b/src/client/QXmppFileSharingManager.cpp @@ -32,6 +32,19 @@ using namespace QXmpp::Private; using MetadataGenerator = QXmppFileSharingManager::MetadataGenerator; using MetadataGeneratorResult = QXmppFileSharingManager::MetadataGeneratorResult; +// The manager generates a hash with each hash algorithm +static std::vector hashAlgorithms() +{ + return { + HashAlgorithm::Sha256, +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + HashAlgorithm::Blake2b_256, +#else + HashAlgorithm::Sha3_256, +#endif + }; +} + class QXmppFileSharingManagerPrivate { public: @@ -116,7 +129,7 @@ std::shared_ptr QXmppFileSharingManager::sendFile(std::shared_ptrmetadataGenerator(openFile()); - auto hashesFuture = calculateHashes(openFile(), { HashAlgorithm::Sha256 }); + auto hashesFuture = calculateHashes(openFile(), hashAlgorithms()); upload = provider->uploadFile(openFile(), metadata); upload->metadata = metadata; -- cgit v1.2.3