12#ifndef ARCANE_UTILS_IHASHALGORITHM_H
13#define ARCANE_UTILS_IHASHALGORITHM_H
19#include "arccore/base/Span.h"
37 static constexpr Int32 MAX_SIZE = 64;
43 return { m_value.data(), m_size };
47 return { m_value.data(), m_size };
51 return {
reinterpret_cast<const Byte*
>(m_value.data()), m_size };
53 void setSize(
Int32 size);
57 std::array<std::byte, MAX_SIZE> m_value = {};
58 Int32 m_size = MAX_SIZE;
172 ARCANE_DEPRECATED_REASON(
"Y2023: Use computeHash64(Span<const std::byte> input,ByteArray& output) instead")
Déclarations des types utilisés dans Arcane.
Valeur retournée par un algorithme de hashage.
Contexte pour calculer un hash de manière incrémentale.
virtual void updateHash(Span< const std::byte > input)=0
Ajoute le tableau input au hash calculé
virtual void reset()=0
Réinitialise l'instance pour calculer une nouvelle valeur de hash.
virtual void computeHashValue(HashAlgorithmValue &hash_value)=0
Calcule la valeur de hashage et la retourne dans hash_value.
Interface d'un algorithme de hashage.
virtual bool hasCreateContext() const
Indique si l'implémentation supporte un hash incrémental.
virtual String name() const
Nom de l'algorithme.
virtual void computeHash(Span< const std::byte > input, HashAlgorithmValue &value)
Calcule la valeur du hash pour le tableau input.
virtual void computeHash64(Span< const Byte > input, ByteArray &output)
Calcule la valeur du hash pour le tableau input.
virtual Int32 hashSize() const
Taille (en octet) de la clé de hash.
virtual Ref< IHashAlgorithmContext > createContext()
Créé un contexte pour calculer la valeur du hash de manière incrémentale.
Référence à une instance.
Vue d'un tableau d'éléments de type T.
Vue d'un tableau d'éléments de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Array< Byte > ByteArray
Tableau dynamique à une dimension de caractères.
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
unsigned char Byte
Type d'un octet.
std::int32_t Int32
Type entier signé sur 32 bits.