Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Server/Crypto: Sha1 Update
Browse files Browse the repository at this point in the history
  • Loading branch information
AriDEV3 committed Dec 29, 2023
1 parent 68ba14f commit 779c0f9
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
14 changes: 7 additions & 7 deletions src/server/shared/Cryptography/SHA1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,19 @@
#include "BigNumber.h"
#include <stdarg.h>

SHA1Hash::SHA1Hash()
SHA1Hash::SHA1Hash() : m_ctx(EVP_MD_CTX_new())
{
SHA1_Init(&mC);
memset(mDigest, 0, SHA_DIGEST_LENGTH * sizeof(uint8));
EVP_DigestInit_ex(m_ctx, EVP_sha1(), NULL);
}

SHA1Hash::~SHA1Hash()
{
SHA1_Init(&mC);
EVP_MD_CTX_free(m_ctx);
}

void SHA1Hash::UpdateData(const uint8 *dta, int len)
{
SHA1_Update(&mC, dta, len);
EVP_DigestUpdate(m_ctx, dta, len);
}

void SHA1Hash::UpdateData(const std::string &str)
Expand All @@ -45,11 +44,12 @@ void SHA1Hash::UpdateBigNumbers(BigNumber* bn0, ...)

void SHA1Hash::Initialize()
{
SHA1_Init(&mC);
EVP_DigestInit(m_ctx, EVP_sha1());
}

void SHA1Hash::Finalize(void)
{
SHA1_Final(mDigest, &mC);
uint32 length = SHA_DIGEST_LENGTH;
EVP_DigestFinal_ex(m_ctx, m_digest, &length);
}

7 changes: 4 additions & 3 deletions src/server/shared/Cryptography/SHA1.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "Define.h"
#include <string>
#include <openssl/sha.h>
#include <openssl/evp.h>

class BigNumber;

Expand All @@ -26,12 +27,12 @@ class SHA1Hash
void Initialize();
void Finalize();

uint8 *GetDigest(void) { return mDigest; };
uint8 *GetDigest(void) { return m_digest; };
int32 GetLength(void) const { return SHA_DIGEST_LENGTH; };

private:
SHA_CTX mC;
uint8 mDigest[SHA_DIGEST_LENGTH];
EVP_MD_CTX* m_ctx;
uint8 m_digest[SHA_DIGEST_LENGTH];
};
#endif

0 comments on commit 779c0f9

Please sign in to comment.