#ifndef ACCELERATEDCRYPTOGRAPHICHASH_H #define ACCELERATEDCRYPTOGRAPHICHASH_H /* * SPDX-License-Identifier: Apache-2.0 * Copyright (C) 2020 Raspberry Pi Ltd */ #include #ifdef Q_OS_DARWIN #include #define SHA256_CTX CC_SHA256_CTX #define SHA256_DIGEST_LENGTH CC_SHA256_DIGEST_LENGTH #define SHA256_Init CC_SHA256_Init #define SHA256_Update CC_SHA256_Update #define SHA256_Final CC_SHA256_Final #else #include "openssl/sha.h" #endif class AcceleratedCryptographicHash { public: explicit AcceleratedCryptographicHash(QCryptographicHash::Algorithm method); virtual ~AcceleratedCryptographicHash(); void addData(const char *data, int length); void addData(const QByteArray &data); QByteArray result(); protected: SHA256_CTX _sha256; }; #endif // ACCELERATEDCRYPTOGRAPHICHASH_H