fix MD5 crypto

This commit is contained in:
Alex 2024-01-26 12:30:39 -05:00
parent 80da882b4d
commit f53c895d49
2 changed files with 18 additions and 18 deletions

View File

@ -1,15 +1,15 @@
#include "AlgorithmSHA1.h" #include "AlgorithmMD5.h"
#include "CryptoLibrary.h" #include "CryptoLibrary.h"
#include <cstdint> #include <cstdint>
class AlgorithmSHA1::AlgorithmSHA1Impl class AlgorithmMD5::AlgorithmMD5Impl
{ {
hash_state m_state{}; hash_state m_state{};
public: public:
AlgorithmSHA1Impl() AlgorithmMD5Impl()
{ {
CryptoLibrary::Init(); CryptoLibrary::Init();
@ -18,47 +18,47 @@ public:
void Init() void Init()
{ {
sha1_init(&m_state); md5_init(&m_state);
} }
void Process(const void* input, const size_t inputSize) void Process(const void* input, const size_t inputSize)
{ {
sha1_process(&m_state, static_cast<const uint8_t*>(input), inputSize); md5_process(&m_state, static_cast<const uint8_t*>(input), inputSize);
} }
void Finish(void* hashBuffer) void Finish(void* hashBuffer)
{ {
sha1_done(&m_state, static_cast<uint8_t*>(hashBuffer)); md5_done(&m_state, static_cast<uint8_t*>(hashBuffer));
} }
}; };
AlgorithmSHA1::AlgorithmSHA1() AlgorithmMD5::AlgorithmMD5()
{ {
m_impl = new AlgorithmSHA1Impl(); m_impl = new AlgorithmMD5Impl();
} }
AlgorithmSHA1::~AlgorithmSHA1() AlgorithmMD5::~AlgorithmMD5()
{ {
delete m_impl; delete m_impl;
m_impl = nullptr; m_impl = nullptr;
} }
size_t AlgorithmSHA1::GetHashSize() size_t AlgorithmMD5::GetHashSize()
{ {
return HASH_SIZE; return HASH_SIZE;
} }
void AlgorithmSHA1::Init() void AlgorithmMD5::Init()
{ {
m_impl->Init(); m_impl->Init();
} }
void AlgorithmSHA1::Process(const void* input, const size_t inputSize) void AlgorithmMD5::Process(const void* input, const size_t inputSize)
{ {
m_impl->Process(input, inputSize); m_impl->Process(input, inputSize);
} }
void AlgorithmSHA1::Finish(void* hashBuffer) void AlgorithmMD5::Finish(void* hashBuffer)
{ {
m_impl->Finish(hashBuffer); m_impl->Finish(hashBuffer);
} }

View File

@ -1,16 +1,16 @@
#pragma once #pragma once
#include "IHashFunction.h" #include "IHashFunction.h"
class AlgorithmSHA1 : public IHashFunction class AlgorithmMD5 : public IHashFunction
{ {
class AlgorithmSHA1Impl; class AlgorithmMD5Impl;
AlgorithmSHA1Impl* m_impl; AlgorithmMD5Impl* m_impl;
public: public:
static const int HASH_SIZE = 20; static const int HASH_SIZE = 20;
AlgorithmSHA1(); AlgorithmMD5();
~AlgorithmSHA1() override; ~AlgorithmMD5() override;
size_t GetHashSize() override; size_t GetHashSize() override;