Skip to content

sgns::crypto::Hasher

#include <hasher.hpp>

Inherits from IComponent

Inherited by sgns::crypto::HasherImpl

Protected Types

Name
using base::Hash64 Hash64
using base::Hash128 Hash128
using base::Hash256 Hash256

Public Functions

Name
~Hasher() override =default
virtual Hash64 twox_64(gsl::span< const uint8_t > buffer) const =0
twox_128 calculates 16-byte twox hash
virtual Hash128 twox_128(gsl::span< const uint8_t > buffer) const =0
twox_128 calculates 16-byte twox hash
virtual Hash128 blake2b_128(gsl::span< const uint8_t > buffer) const =0
blake2b_128 function calculates 16-byte blake2b hash
virtual Hash256 twox_256(gsl::span< const uint8_t > buffer) const =0
twox_256 calculates 32-byte twox hash
virtual Hash256 blake2b_256(gsl::span< const uint8_t > buffer) const =0
blake2b_256 function calculates 32-byte blake2b hash
virtual Hash256 keccak_256(gsl::span< const uint8_t > buffer) const =0
keccak_256 function calculates 32-byte keccak hash
virtual Hash256 blake2s_256(gsl::span< const uint8_t > buffer) const =0
blake2s_256 function calculates 32-byte blake2s hash
virtual Hash256 sha2_256(gsl::span< const uint8_t > buffer) const =0
sha2_256 function calculates 32-byte sha2-256 hash

Additional inherited members

Public Functions inherited from IComponent

Name
virtual ~IComponent() =default
virtual std::string GetName() =0

Protected Types Documentation

using Hash64

using sgns::crypto::Hasher::Hash64 = base::Hash64;

using Hash128

using sgns::crypto::Hasher::Hash128 = base::Hash128;

using Hash256

using sgns::crypto::Hasher::Hash256 = base::Hash256;

Public Functions Documentation

function ~Hasher

~Hasher() override =default

function twox_64

virtual Hash64 twox_64(
    gsl::span< const uint8_t > buffer
) const =0

twox_128 calculates 16-byte twox hash

Parameters:

  • buffer source buffer

Return: 128-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::twox_64

function twox_128

virtual Hash128 twox_128(
    gsl::span< const uint8_t > buffer
) const =0

twox_128 calculates 16-byte twox hash

Parameters:

  • buffer source buffer

Return: 128-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::twox_128

function blake2b_128

virtual Hash128 blake2b_128(
    gsl::span< const uint8_t > buffer
) const =0

blake2b_128 function calculates 16-byte blake2b hash

Parameters:

  • buffer source value

Return: 128-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::blake2b_128

function twox_256

virtual Hash256 twox_256(
    gsl::span< const uint8_t > buffer
) const =0

twox_256 calculates 32-byte twox hash

Parameters:

  • buffer source buffer

Return: 256-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::twox_256

function blake2b_256

virtual Hash256 blake2b_256(
    gsl::span< const uint8_t > buffer
) const =0

blake2b_256 function calculates 32-byte blake2b hash

Parameters:

  • buffer source value

Return: 256-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::blake2b_256

function keccak_256

virtual Hash256 keccak_256(
    gsl::span< const uint8_t > buffer
) const =0

keccak_256 function calculates 32-byte keccak hash

Parameters:

  • buffer source value

Return: 256-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::keccak_256

function blake2s_256

virtual Hash256 blake2s_256(
    gsl::span< const uint8_t > buffer
) const =0

blake2s_256 function calculates 32-byte blake2s hash

Parameters:

  • buffer source value

Return: 256-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::blake2s_256

function sha2_256

virtual Hash256 sha2_256(
    gsl::span< const uint8_t > buffer
) const =0

sha2_256 function calculates 32-byte sha2-256 hash

Parameters:

  • buffer source value

Return: 256-bit hash value

Reimplemented by: sgns::crypto::HasherImpl::sha2_256


Updated on 2026-03-04 at 13:10:43 -0800