File indexing completed on 2024-05-12 15:47:07

0001 /*
0002     This file is part of the KDE Libraries
0003     SPDX-FileCopyrightText: 2015 Valentin Rusu <kde@rusu.info>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "kwalletcbc.h"
0009 
0010 #include <QTest>
0011 #include <backend/blowfish.h>
0012 #include <backend/cbc.h>
0013 
0014 void KWalletCBCTest::encryptDecryptOneBlock()
0015 {
0016     BlockCipher *bf;
0017     char data[] = "OneBlock";
0018     char key[] = "testkey";
0019 
0020     bf = new BlowFish();
0021 
0022     bf->setKey((void *)key, 7 * 8);
0023 
0024     QVERIFY(bf->readyToGo());
0025     QVERIFY(8 == bf->encrypt((void *)data, 8));
0026 
0027     delete bf;
0028     bf = new BlowFish();
0029     bf->setKey((void *)key, 7 * 8);
0030 
0031     QVERIFY(8 == bf->decrypt((void *)data, 8));
0032     QVERIFY(strcmp(data, "OneBlock") == 0);
0033     delete bf;
0034 }
0035 
0036 void KWalletCBCTest::encryptDecryptMultiblock()
0037 {
0038     BlockCipher *bf;
0039     char data[] = "This is a test.";
0040     char key[] = "testkey";
0041 
0042     bf = new BlowFish();
0043 
0044     bf->setKey((void *)key, 7 * 8);
0045 
0046     QVERIFY(bf->readyToGo());
0047     QVERIFY(16 == bf->encrypt((void *)data, 16));
0048 
0049     delete bf;
0050     bf = new BlowFish();
0051     bf->setKey((void *)key, 7 * 8);
0052 
0053     QVERIFY(16 == bf->decrypt((void *)data, 16));
0054     QVERIFY(strcmp(data, "This is a test.") == 0);
0055     delete bf;
0056 }
0057 
0058 QTEST_GUILESS_MAIN(KWalletCBCTest)
0059 
0060 #include "moc_kwalletcbc.cpp"