mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 00:25:44 +00:00
fix MD5 crypto
This commit is contained in:
parent
80da882b4d
commit
f53c895d49
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user