|
|
@ -61,6 +61,7 @@ bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector<unsigned |
|
|
|
bool fOk = true; |
|
|
|
|
|
|
|
EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); |
|
|
|
assert(ctx); |
|
|
|
if (fOk) fOk = EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV) != 0; |
|
|
|
if (fOk) fOk = EVP_EncryptUpdate(ctx, &vchCiphertext[0], &nCLen, &vchPlaintext[0], nLen) != 0; |
|
|
|
if (fOk) fOk = EVP_EncryptFinal_ex(ctx, (&vchCiphertext[0]) + nCLen, &nFLen) != 0; |
|
|
@ -86,6 +87,7 @@ bool CCrypter::Decrypt(const std::vector<unsigned char>& vchCiphertext, CKeyingM |
|
|
|
bool fOk = true; |
|
|
|
|
|
|
|
EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); |
|
|
|
assert(ctx); |
|
|
|
if (fOk) fOk = EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV) != 0; |
|
|
|
if (fOk) fOk = EVP_DecryptUpdate(ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen) != 0; |
|
|
|
if (fOk) fOk = EVP_DecryptFinal_ex(ctx, (&vchPlaintext[0]) + nPLen, &nFLen) != 0; |
|
|
|