Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
MD5.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#include "Common.h"
7#include "MD5.h"
8
9MD5Hash::MD5Hash() : m_ctx(EVP_MD_CTX_new())
10{
11 EVP_DigestInit_ex(m_ctx, EVP_md5(), NULL);
12}
13
15{
16 EVP_MD_CTX_free(m_ctx);
17}
18
19void MD5Hash::UpdateData(const std::string& str)
20{
21 EVP_DigestUpdate(m_ctx, (uint8 const*)str.c_str(), str.length());
22}
23
24void MD5Hash::UpdateData(const uint8* data, size_t len)
25{
26 EVP_DigestUpdate(m_ctx, data, len);
27}
28
29void MD5Hash::Finalize(const uint8* data, uint32 len)
30{
31 EVP_DigestFinal_ex(m_ctx, (uint8*)data, &len);
32}
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
~MD5Hash()
Definition MD5.cpp:14
void UpdateData(const std::string &str)
Definition MD5.cpp:19
void Finalize(const uint8 *data, uint32 len)
Definition MD5.cpp:29
MD5Hash()
Definition MD5.cpp:9
EVP_MD_CTX * m_ctx
Definition MD5.h:22