diff options
Diffstat (limited to 'zencore/md5.cpp')
| -rw-r--r-- | zencore/md5.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/zencore/md5.cpp b/zencore/md5.cpp index 237f6cfdd..a5a5ea41d 100644 --- a/zencore/md5.cpp +++ b/zencore/md5.cpp @@ -6,11 +6,7 @@ #include <zencore/zencore.h> #include <string.h> - -// big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN -#ifndef _MSC_VER -# include <endian.h> -#endif +#include <string_view> /* ********************************************************************** @@ -401,7 +397,7 @@ MD5::FromHexString(const char* string) } const char* -MD5::ToHexString(char* outString /* 40 characters + NUL terminator */) const +MD5::ToHexString(char* outString /* 32 characters + NUL terminator */) const { ToHexBytes(Hash, sizeof(MD5), outString); outString[2 * sizeof(MD5)] = '\0'; @@ -443,6 +439,23 @@ toString(const MD5& value) TEST_CASE("MD5") { + using namespace std::literals; + + auto Input = "jumblesmcgee"sv; + auto Output = "28f2200a59c60b75947099d750c2cc50"sv; + + MD5Stream Stream; + Stream.Append(Input.data(), Input.length()); + MD5 Result = Stream.GetHash(); + + MD5::String_t Buffer; + Result.ToHexString(Buffer); + + CHECK(Output.compare(Buffer)); + + MD5 Reresult = MD5::FromHexString(Buffer); + Reresult.ToHexString(Buffer); + CHECK(Output.compare(Buffer)); } #endif |