// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <[email protected]>1// SPDX-License-Identifier: CC-BY-NC-ND-4.023#pragma once45#include "types.h"67#include <array>8#include <span>910class MD5Digest11{12public:13static constexpr u32 DIGEST_SIZE = 16;1415MD5Digest();1617void Update(const void* pData, u32 cbData);18void Update(std::span<const u8> data);19void Final(std::span<u8, DIGEST_SIZE> digest);20void Reset();2122static std::array<u8, DIGEST_SIZE> HashData(std::span<const u8> data);2324private:25u32 buf[4];26u32 bits[2];27u8 in[64];28};293031