rll::crypto::md5 class

Base classes

class basic_hasher

Public types

using digest_type = std::array<u8, 16>

Public static variables

static std::size_t block_size constexpr
static std::size_t digest_size constexpr

Constructors, destructors, conversion operators

md5()
md5(md5 const&) deleted
md5(md5&&) deleted noexcept
~md5() override

Public functions

auto append(std::string const& str) →  basic_hasher& override
auto append(std::string_view str) →  basic_hasher& override
auto append(void const* str, std::size_t len) →  basic_hasher& override
template <typename T, typename = std::enable_if_t<std::is_standard_layout_v<T> and std::is_trivial_v<T>>>
auto append_raw(T const& value) →  basic_hasher&
auto hash() const →  digest_type
auto hash_string() const →  std::string override
auto hash_uuid() const →  uuid
auto operator<<(std::string const& str) →  basic_hasher&
auto operator<<(std::string_view const str) →  basic_hasher&
template <typename T, typename = std::enable_if_t< std::is_standard_layout_v<T> and std::is_trivial_v<T> and not std::is_convertible_v<T, std::string> and not std::is_pointer_v<T>>>
auto operator<<(T const& value) →  basic_hasher&
auto operator=(md5 const&) →  md5& deleted
auto operator=(md5&&) →  md5& deleted noexcept
void reset() override

Function documentation

template <typename T, typename = std::enable_if_t<std::is_standard_layout_v<T> and std::is_trivial_v<T>>>
basic_hasher& rll::crypto::md5::append_raw(T const& value)

basic_hasher& rll::crypto::md5::operator<<(std::string const& str)

basic_hasher& rll::crypto::md5::operator<<(std::string_view const str)

template <typename T, typename = std::enable_if_t< std::is_standard_layout_v<T> and std::is_trivial_v<T> and not std::is_convertible_v<T, std::string> and not std::is_pointer_v<T>>>
basic_hasher& rll::crypto::md5::operator<<(T const& value)