diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp index 3eef7631c8..436734f05a 100644 --- a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp +++ b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp @@ -44,6 +44,8 @@ private slots: void sha1(); void sha3_data(); void sha3(); + void blake2_data(); + void blake2(); void files_data(); void files(); void hashLength(); @@ -264,6 +266,110 @@ void tst_QCryptographicHash::sha3() QCOMPARE(result, expectedResult); } +void tst_QCryptographicHash::blake2_data() +{ + QTest::addColumn<QCryptographicHash::Algorithm>("algorithm"); + QTest::addColumn<QByteArray>("data"); + QTest::addColumn<QByteArray>("expectedResult"); + +#define ROW(Tag, Algorithm, Input, Result) \ + QTest::newRow(Tag) << Algorithm << QByteArrayLiteral(Input) << QByteArray::fromHex(Result) + + // BLAKE2b + ROW("blake2b_160_pangram", + QCryptographicHash::Blake2b_160, + "The quick brown fox jumps over the lazy dog", + "3c523ed102ab45a37d54f5610d5a983162fde84f"); + + ROW("blake2b_160_pangram_dot", + QCryptographicHash::Blake2b_160, + "The quick brown fox jumps over the lazy dog.", + "d0c8bb0bdd830296d1d4f4348176699ccccc16bb"); + + ROW("blake2b_256_pangram", + QCryptographicHash::Blake2b_256, + "The quick brown fox jumps over the lazy dog", + "01718cec35cd3d796dd00020e0bfecb473ad23457d063b75eff29c0ffa2e58a9"); + + ROW("blake2b_256_pangram_dot", + QCryptographicHash::Blake2b_256, + "The quick brown fox jumps over the lazy dog.", + "69d7d3b0afba81826d27024c17f7f183659ed0812cf27b382eaef9fdc29b5712"); + + ROW("blake2b_384_pangram", + QCryptographicHash::Blake2b_384, + "The quick brown fox jumps over the lazy dog", + "b7c81b228b6bd912930e8f0b5387989691c1cee1e65aade4da3b86a3c9f678fc8018f6ed9e2906720c8d2a3aeda9c03d"); + + ROW("blake2b_384_pangram_dot", + QCryptographicHash::Blake2b_384, + "The quick brown fox jumps over the lazy dog.", + "16d65de1a3caf1c26247234c39af636284c7e19ca448c0de788272081410778852c94d9cef6b939968d4f872c7f78337"); + + ROW("blake2b_512_pangram", + QCryptographicHash::Blake2b_512, + "The quick brown fox jumps over the lazy dog", + "a8add4bdddfd93e4877d2746e62817b116364a1fa7bc148d95090bc7333b3673f82401cf7aa2e4cb1ecd90296e3f14cb5413f8ed77be73045b13914cdcd6a918"); + + ROW("blake2b_512_pangram_dot", + QCryptographicHash::Blake2b_512, + "The quick brown fox jumps over the lazy dog.", + "87af9dc4afe5651b7aa89124b905fd214bf17c79af58610db86a0fb1e0194622a4e9d8e395b352223a8183b0d421c0994b98286cbf8c68a495902e0fe6e2bda2"); + + // BLAKE2s + ROW("blake2s_128_pangram", + QCryptographicHash::Blake2s_128, + "The quick brown fox jumps over the lazy dog", + "96fd07258925748a0d2fb1c8a1167a73"); + + ROW("blake2s_128_pangram_dot", + QCryptographicHash::Blake2s_128, + "The quick brown fox jumps over the lazy dog.", + "1f298f2e1f9c2490e506c2308f64e7c0"); + + ROW("blake2s_160_pangram", + QCryptographicHash::Blake2s_160, + "The quick brown fox jumps over the lazy dog", + "5a604fec9713c369e84b0ed68daed7d7504ef240"); + + ROW("blake2s_160_pangram_dot", + QCryptographicHash::Blake2s_160, + "The quick brown fox jumps over the lazy dog.", + "cd4a863226463aac852662d16275d399966e3ffe"); + + ROW("blake2s_224_pangram", + QCryptographicHash::Blake2s_224, + "The quick brown fox jumps over the lazy dog", + "e4e5cb6c7cae41982b397bf7b7d2d9d1949823ae78435326e8db4912"); + + ROW("blake2s_224_pangram_dot", + QCryptographicHash::Blake2s_224, + "The quick brown fox jumps over the lazy dog.", + "fd1557500ef49f308882969507acd18a13e155c26f8fcd82f9bf2ff7"); + + ROW("blake2s_256_pangram", + QCryptographicHash::Blake2s_256, + "The quick brown fox jumps over the lazy dog", + "606beeec743ccbeff6cbcdf5d5302aa855c256c29b88c8ed331ea1a6bf3c8812"); + + ROW("blake2s_256_pangram_dot", + QCryptographicHash::Blake2s_256, + "The quick brown fox jumps over the lazy dog.", + "95bca6e1b761dca1323505cc629949a0e03edf11633cc7935bd8b56f393afcf2"); + +#undef ROW +} + +void tst_QCryptographicHash::blake2() +{ + QFETCH(QCryptographicHash::Algorithm, algorithm); + QFETCH(QByteArray, data); + QFETCH(QByteArray, expectedResult); + + const auto result = QCryptographicHash::hash(data, algorithm); + QCOMPARE(result, expectedResult); +} + void tst_QCryptographicHash::files_data() { QTest::addColumn<QString>("filename"); QTest::addColumn<QCryptographicHash::Algorithm>("algorithm"); |