20#ifndef RIPPLE_PROTOCOL_DIGEST_H_INCLUDED 
   21#define RIPPLE_PROTOCOL_DIGEST_H_INCLUDED 
   23#include <xrpl/basics/base_uint.h> 
   24#include <xrpl/crypto/secure_erase.h> 
   26#include <boost/endian/conversion.hpp> 
   50    static constexpr auto const endian = boost::endian::order::native;
 
 
   73    static constexpr auto const endian = boost::endian::order::native;
 
 
   96    static constexpr auto const endian = boost::endian::order::native;
 
 
  141    static constexpr auto const endian = boost::endian::order::native;
 
  156        rh(d0.data(), d0.size());
 
 
 
  170template <
bool Secure>
 
  177    static constexpr auto const endian = boost::endian::order::big;
 
  196        return result_type::fromVoid(digest.data());
 
 
 
  222template <
class... Args>
 
  238template <
class... Args>
 
std::enable_if_t< is_contiguously_hashable< T, Hasher >::value > hash_append(Hasher &h, T const &t) noexcept
Logically concatenate input data to a Hasher.
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
sha512_half_hasher_s::result_type sha512Half_s(Args const &... args)
Returns the SHA512-Half of a series of objects.
 
void hash_append(Hasher &h, Slice const &v)
 
void erase(STObject &st, TypedField< U > const &f)
Remove a field in an STObject.
 
sha512_half_hasher::result_type sha512Half(Args const &... args)
Returns the SHA512-Half of a series of objects.
 
void secure_erase(void *dest, std::size_t bytes)
Attempts to clear the given blob of memory.
 
Returns the SHA512-Half digest of a message.
 
void erase(std::false_type)
 
void erase(std::true_type)
 
void operator()(void const *data, std::size_t size) noexcept
 
~basic_sha512_half_hasher()
 
Message digest functions used in the codebase.
 
static constexpr auto const endian
 
void operator()(void const *data, std::size_t size) noexcept
 
std::array< std::uint8_t, 20 > result_type
 
openssl_ripemd160_hasher()
 
std::array< std::uint8_t, 32 > result_type
 
Returns the RIPEMD-160 digest of the SHA256 hash of the message.
 
void operator()(void const *data, std::size_t size) noexcept