Skip to content

crypto/hasher.hpp

Namespaces

Name
sgns
sgns::crypto

Functions

Name
base::Hash64 twox_64(gsl::span< const uint8_t > buffer)
base::Hash128 twox_128(gsl::span< const uint8_t > buffer)
base::Hash128 blake2b_128(gsl::span< const uint8_t > buffer)
base::Hash256 twox_256(gsl::span< const uint8_t > buffer)
base::Hash256 blake2b_256(gsl::span< const uint8_t > buffer)
base::Hash256 keccak_256(gsl::span< const uint8_t > buffer)
base::Hash256 blake2s_256(gsl::span< const uint8_t > buffer)
base::Hash256 sha2_256(gsl::span< const uint8_t > buffer)
base::Hash256 sha2_256(const void * data, size_t size)

Functions Documentation

function twox_64

base::Hash64 twox_64(
    gsl::span< const uint8_t > buffer
)

function twox_128

base::Hash128 twox_128(
    gsl::span< const uint8_t > buffer
)

function blake2b_128

base::Hash128 blake2b_128(
    gsl::span< const uint8_t > buffer
)

function twox_256

base::Hash256 twox_256(
    gsl::span< const uint8_t > buffer
)

function blake2b_256

base::Hash256 blake2b_256(
    gsl::span< const uint8_t > buffer
)

function keccak_256

base::Hash256 keccak_256(
    gsl::span< const uint8_t > buffer
)

function blake2s_256

base::Hash256 blake2s_256(
    gsl::span< const uint8_t > buffer
)

function sha2_256

base::Hash256 sha2_256(
    gsl::span< const uint8_t > buffer
)

function sha2_256

inline base::Hash256 sha2_256(
    const void * data,
    size_t size
)

Source code

#ifndef SUPERGENIUS_SRC_HASHER_HASHER_HPP_
#define SUPERGENIUS_SRC_HASHER_HASHER_HPP_

#include <cstddef>

#include <gsl/span>

#include "base/blob.hpp"

namespace sgns::crypto
{
    [[nodiscard]] base::Hash64  twox_64( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash128 twox_128( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash128 blake2b_128( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash256 twox_256( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash256 blake2b_256( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash256 keccak_256( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash256 blake2s_256( gsl::span<const uint8_t> buffer );
    [[nodiscard]] base::Hash256 sha2_256( gsl::span<const uint8_t> buffer );

    [[nodiscard]] inline base::Hash256 sha2_256( const void *data, size_t size )
    {
        return sha2_256( gsl::span<const uint8_t>( reinterpret_cast<const uint8_t *>( data ), size ) );
    }
}

#endif

Updated on 2026-08-06 at 13:59:19 +0000