From e585187b248f48b3c6e9247b49fa07c6565d65e5 Mon Sep 17 00:00:00 2001 From: maximius Date: Sat, 17 Oct 2009 15:51:44 -0700 Subject: *Backed out changeset 3be01fb200a5 --HG-- branch : trunk --- src/shared/Auth/Hmac.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/shared/Auth/Hmac.cpp') diff --git a/src/shared/Auth/Hmac.cpp b/src/shared/Auth/Hmac.cpp index ed68ce8c5df..985b4fb9a56 100644 --- a/src/shared/Auth/Hmac.cpp +++ b/src/shared/Auth/Hmac.cpp @@ -17,32 +17,40 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #include "Auth/Hmac.h" #include "BigNumber.h" + HmacHash::HmacHash(uint32 len, uint8 *seed) { ASSERT(len == SEED_KEY_SIZE); + HMAC_CTX_init(&m_ctx); HMAC_Init_ex(&m_ctx, seed, SEED_KEY_SIZE, EVP_sha1(), NULL); } + HmacHash::~HmacHash() { HMAC_CTX_cleanup(&m_ctx); } + void HmacHash::UpdateBigNumber(BigNumber *bn) { UpdateData(bn->AsByteArray(), bn->GetNumBytes()); } + void HmacHash::UpdateData(const uint8 *data, int length) { HMAC_Update(&m_ctx, data, length); } + void HmacHash::Finalize() { uint32 length = 0; 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()); -- cgit v1.2.3