#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(); }