Files
watrbx-game-engine/App/util/MD5Hasher.h
T
2025-10-28 14:05:46 -04:00

29 lines
758 B
C++

#pragma once
#include "rbx/declarations.h"
#include <string>
#include <istream>
namespace RBX {
class RBXInterface MD5Hasher
{
public:
static MD5Hasher* create();
virtual ~MD5Hasher() {}
virtual void addData(std::istream& data) = 0;
virtual void addData(const std::string& data) = 0;
virtual void addData(const char* data, size_t nBytes) = 0;
virtual const std::string& toString() = 0;
virtual const char* c_str() = 0;
virtual void toBuffer(char (&result)[16]) = 0;
// Before 03-12-07 the hashing function didn't pad bytes with '0'
static std::string convertToLegacyHash(std::string hash);
};
std::string CollectMd5Hash(const std::string& fileName);
std::string ComputeMd5Hash(const std::string& data);
}//namespace