From 9d670fe6f5757430d575081db9a6e5273400330d Mon Sep 17 00:00:00 2001 From: megamage Date: Thu, 11 Jun 2009 00:45:59 -0500 Subject: *Switch to support client version 3.1.3 *I strongly recommend you not to use this until you get the 313 db. Now all destructible buildings cause client crash. Source: Mangos Thanks to TOM_RUS for most work to make this switch possible ;) --HG-- branch : trunk --- src/shared/Auth/Hmac.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/shared/Auth/Hmac.cpp') diff --git a/src/shared/Auth/Hmac.cpp b/src/shared/Auth/Hmac.cpp index a8572f0e9f8..985b4fb9a56 100644 --- a/src/shared/Auth/Hmac.cpp +++ b/src/shared/Auth/Hmac.cpp @@ -21,17 +21,16 @@ #include "Auth/Hmac.h" #include "BigNumber.h" -HmacHash::HmacHash() +HmacHash::HmacHash(uint32 len, uint8 *seed) { - uint8 temp[SEED_KEY_SIZE] = { 0x38, 0xA7, 0x83, 0x15, 0xF8, 0x92, 0x25, 0x30, 0x71, 0x98, 0x67, 0xB1, 0x8C, 0x4, 0xE2, 0xAA }; - memcpy(&m_key, &temp, SEED_KEY_SIZE); + ASSERT(len == SEED_KEY_SIZE); + HMAC_CTX_init(&m_ctx); - HMAC_Init_ex(&m_ctx, &m_key, SEED_KEY_SIZE, EVP_sha1(), NULL); + HMAC_Init_ex(&m_ctx, seed, SEED_KEY_SIZE, EVP_sha1(), NULL); } HmacHash::~HmacHash() { - memset(&m_key, 0x00, SEED_KEY_SIZE); HMAC_CTX_cleanup(&m_ctx); } @@ -45,15 +44,16 @@ void HmacHash::UpdateData(const uint8 *data, int length) HMAC_Update(&m_ctx, data, length); } -void HmacHash::Initialize() -{ - HMAC_Init_ex(&m_ctx, &m_key, SEED_KEY_SIZE, EVP_sha1(), NULL); -} - void HmacHash::Finalize() { uint32 length = 0; - HMAC_Final(&m_ctx, m_digest, &length); + HMAC_Final(&m_ctx, (uint8*)m_digest, &length); ASSERT(length == SHA_DIGEST_LENGTH) } +uint8 *HmacHash::ComputeHash(BigNumber *bn) +{ + HMAC_Update(&m_ctx, bn->AsByteArray(), bn->GetNumBytes()); + Finalize(); + return (uint8*)m_digest; +} -- cgit v1.2.3