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"