Update HmacTests: add Sha1HmacTest
All checks were successful
ChaosTest CI / build-and-test (pull_request) Successful in 30s
ChaosTest CI / build-and-test (push) Successful in 31s

This commit was merged in pull request #1.
This commit is contained in:
hashlag
2026-01-06 04:30:07 +03:00
parent fc2f100f0c
commit 7f9430e0e6

View File

@@ -1,10 +1,12 @@
#include <gtest/gtest.h>
#include "Hash/Md5.hpp"
#include "Hash/Sha1.hpp"
#include "Mac/Hmac.hpp"
using namespace Chaos::Mac::Hmac;
using namespace Chaos::Hash::Md5;
using namespace Chaos::Hash::Sha1;
TEST(HmacTests, RfcTest)
{
@@ -51,6 +53,28 @@ TEST(HmacTests, RfcTest)
}
}
TEST(HmacTests, Sha1HmacTest)
{
struct Helper
{
std::string operator()(const char * key, const char * data) const
{
Hmac<Sha1Hasher> hmac(key, key + strlen(key));
hmac.Update(data, data + strlen(data));
return hmac.Finish().ToHexString();
}
};
Helper hmacSha1;
{
const char * key = "Two Generals'";
const char * data = "Attack at dawn.";
ASSERT_EQ("20ccda1c4de0e206f3a47056f2abd40f731ff3db", hmacSha1(key, data));
}
}
TEST(HmacTests, LongKeyTest)
{
struct Helper