blob: 0129c31b06d63f1bbc7be945dfa2ef8555ae8f75 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include "cryptaes.h"
CryptAes::CryptAes()
: CryptClassEvp()
{
m_iv = QByteArray(16, 0);
}
const EVP_CIPHER *CryptAes::algorithm()
{
switch (m_keyLength)
{
case 128:
return EVP_aes_128_cbc();
break;
case 192:
return EVP_aes_192_cbc();
break;
case 256:
return EVP_aes_256_cbc();
break;
}
return EVP_enc_null();
}
void CryptAes::encrypt()
{
m_key = CryptEngine::createPasswordHash(m_key);
m_iv = CryptEngine::createRandomIv(IVLENGTH);
CryptClassEvp::encrypt();
m_cryptText = m_iv + m_cryptText;
}
void CryptAes::decrypt()
{
m_key = CryptEngine::createPasswordHash(m_key);
m_iv = m_cryptText.left(IVLENGTH);
m_cryptText = m_cryptText.remove(0, IVLENGTH);
CryptClassEvp::decrypt();
}
|