ImagingTools Core SDK
IEncryption.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IPolymorphic.h>
7
8
9namespace imtcrypt
10{
11
12
13class IEncryptionKeysProvider;
14
15
20class IEncryption: virtual public istd::IPolymorphic
21{
22public:
23 enum EncryptionAlgorithm
24 {
25 EA_RSA = 0,
26 EA_AES
27 };
28
29 virtual bool EncryptData(
30 const QByteArray& input,
31 EncryptionAlgorithm algorithm,
32 const IEncryptionKeysProvider& keys,
33 QByteArray& output) const = 0;
34
35 virtual bool DecryptData(
36 const QByteArray& input,
37 EncryptionAlgorithm algorithm,
38 const IEncryptionKeysProvider& keys,
39 QByteArray& output) const = 0;
40};
41
42
43} //namespace imtcrypt
44
45
Cryptography and Encryption Services Module.