summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/Hash.h')
-rw-r--r--Source/Core/Common/Hash.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/Core/Common/Hash.h b/Source/Core/Common/Hash.h
index 6166b74bd9..531dcd94e1 100644
--- a/Source/Core/Common/Hash.h
+++ b/Source/Core/Common/Hash.h
@@ -4,6 +4,8 @@
#pragma once
#include <cstddef>
+#include <memory>
+#include <span>
#include <string_view>
#include "Common/CommonTypes.h"
@@ -21,4 +23,24 @@ u32 StartCRC32();
u32 UpdateCRC32(u32 crc, const u8* data, size_t len);
u32 ComputeCRC32(const u8* data, size_t len);
u32 ComputeCRC32(std::string_view data);
+
+class MD5Context
+{
+public:
+ MD5Context();
+ ~MD5Context();
+
+ void Update(std::span<const u8> data);
+
+ // output should point to 16 bytes.
+ void Finish(u8* output);
+
+private:
+ struct Impl;
+ std::unique_ptr<Impl> m_impl;
+};
+
+// output should point to 16 bytes.
+void ComputeMD5(std::span<const u8> input, u8* output);
+
} // namespace Common