55 lines
1.6 KiB
C++
Executable File
55 lines
1.6 KiB
C++
Executable File
|
|
|
|
|
|
#include <QtCore/QCoreApplication>
|
|
#include <QtTest/QTest>
|
|
#include <NGLLogger/NGLLoggerBootstrap.h>
|
|
#include <openssl/evp.h>
|
|
|
|
#include "aes_crypt.h"
|
|
#include "aes_crypt_test.h"
|
|
|
|
QTEST_MAIN(aes_crypt_test)
|
|
|
|
void aes_crypt_test::initTestCase()
|
|
{
|
|
NGL::NGLLoggerBootstrap::createNGLRootLogger("log4cxx.props", false);
|
|
}
|
|
|
|
void aes_crypt_test::truePassTest()
|
|
{
|
|
qDebug("Simple TestCase");
|
|
bool bOk;
|
|
const QByteArray content("30.06.2013");
|
|
const QString pw(QStringLiteral("aes_crypt_test"));
|
|
const QByteArray enc = LtsLicence::encryptData(content, pw, &bOk);
|
|
QVERIFY2(bOk, "Error encrypting data...");
|
|
|
|
QCOMPARE(((content.size() + 15 + EVP_MAX_IV_LENGTH) / 18) * 16, enc.size());
|
|
const QByteArray dec = LtsLicence::decryptData(enc, pw, &bOk);
|
|
QVERIFY2(bOk, "Error encrypting data...");
|
|
QCOMPARE(dec, content);
|
|
|
|
|
|
const QByteArray bigContent(12345, '1');
|
|
const QByteArray bigEnc = LtsLicence::encryptData(bigContent, pw, &bOk);
|
|
QVERIFY2(bOk, "Error encrypting data...");
|
|
|
|
QCOMPARE(((bigContent.size() + 15 + EVP_MAX_IV_LENGTH) / 16) * 16, bigEnc.size());
|
|
}
|
|
|
|
void aes_crypt_test::falsePassTest()
|
|
{
|
|
qDebug("False Password TestCase");
|
|
bool bOk;
|
|
const QByteArray content("30.06.2013");
|
|
const QString pw(QStringLiteral("aes_crypt_test"));
|
|
const QString pw2(QStringLiteral("aes_crypt_test2"));
|
|
const QByteArray enc = LtsLicence::encryptData(content, pw, &bOk);
|
|
QVERIFY2(bOk, "Error encrypting data...");
|
|
QVERIFY2(enc.size() != 20, "Error encrypting data...");
|
|
const QByteArray dec = LtsLicence::decryptData(enc, pw2, &bOk);
|
|
QVERIFY2(!bOk, "Error encrypting data...");
|
|
QVERIFY2(dec.isEmpty(), "decrypted data is not empty...");
|
|
}
|