Interface d'un algorithme de hashage. Plus de détails...
#include <arcane/utils/IHashAlgorithm.h>
Fonctions membres publiques | |
virtual String | name () const |
Nom de l'algorithme. | |
virtual Int32 | hashSize () const |
Taille (en octet) de la clé de hash. | |
virtual void | computeHash64 (Span< const Byte > input, ByteArray &output) |
Calcule la valeur du hash pour le tableau input. | |
virtual void | computeHash64 (Span< const std::byte > input, ByteArray &output) |
Calcule la valeur du hash pour le tableau input. | |
virtual void | computeHash (Span< const std::byte > input, HashAlgorithmValue &value) |
Calcule la valeur du hash pour le tableau input. | |
virtual Ref< IHashAlgorithmContext > | createContext () |
Créé un contexte pour calculer la valeur du hash de manière incrémentale. | |
virtual bool | hasCreateContext () const |
Indique si l'implémentation supporte un hash incrémental. | |
virtual void | computeHash (ByteConstArrayView input, ByteArray &output)=0 |
Calcule la valeur du hash pour le tableau input. | |
Interface d'un algorithme de hashage.
Définition à la ligne 105 du fichier IHashAlgorithm.h.
|
pure virtual |
Calcule la valeur du hash pour le tableau input.
La valeur de hashage est ajoutée</string> dans output. La longueur dépend de l'algorithme utilisé.
Implémenté dans Arcane::SHA3HashAlgorithm, Arcane::MD5HashAlgorithm, et Arcane::SHA1HashAlgorithm.
|
virtual |
Calcule la valeur du hash pour le tableau input.
La valeur de hashage est positionnée dans value
Réimplémentée dans Arcane::SHA1HashAlgorithm.
Définition à la ligne 79 du fichier HashAlgorithm.cc.
Références computeHash64(), et Arccore::AbstractArray< T >::size().
Référencé par computeHash64().
Calcule la valeur du hash pour le tableau input.
La valeur de hashage est ajoutée</string> dans output. La longueur ajoutée est égale à hashSize().
Réimplémentée dans Arcane::SHA3HashAlgorithm, Arcane::MD5HashAlgorithm, et Arcane::SHA1HashAlgorithm.
Définition à la ligne 60 du fichier HashAlgorithm.cc.
Références computeHash(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::smallView().
Référencé par Arcane::MeshUtils::checkUniqueIdsHashCollective(), Arcane::SerializedData::computeHash(), computeHash(), et computeHash64().
|
virtual |
Calcule la valeur du hash pour le tableau input.
La valeur de hashage est ajoutée</string> dans output. La longueur ajoutée est égale à hashSize().
Réimplémentée dans Arcane::SHA3HashAlgorithm, Arcane::MD5HashAlgorithm, et Arcane::SHA1HashAlgorithm.
Définition à la ligne 69 du fichier HashAlgorithm.cc.
Références computeHash64(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().
|
virtual |
Créé un contexte pour calculer la valeur du hash de manière incrémentale.
Si l'implémentation ne supporte pas le mode incrémental (hasCreateContext()==false), une exception est levée.
Réimplémentée dans Arcane::SHA1HashAlgorithm.
Définition à la ligne 94 du fichier HashAlgorithm.cc.
|
inlinevirtual |
Indique si l'implémentation supporte un hash incrémental.
Réimplémentée dans Arcane::SHA1HashAlgorithm.
Définition à la ligne 162 du fichier IHashAlgorithm.h.
|
virtual |
Taille (en octet) de la clé de hash.
Réimplémentée dans Arcane::MD5HashAlgorithm, Arcane::SHA1HashAlgorithm, Arcane::SHA3_256HashAlgorithm, Arcane::SHA3_224HashAlgorithm, Arcane::SHA3_384HashAlgorithm, et Arcane::SHA3_512HashAlgorithm.
Définition à la ligne 51 du fichier HashAlgorithm.cc.
Références ARCANE_THROW.
|
virtual |
Nom de l'algorithme.
Réimplémentée dans Arcane::MD5HashAlgorithm, Arcane::SHA1HashAlgorithm, Arcane::SHA3_256HashAlgorithm, Arcane::SHA3_224HashAlgorithm, Arcane::SHA3_384HashAlgorithm, et Arcane::SHA3_512HashAlgorithm.
Définition à la ligne 42 du fichier HashAlgorithm.cc.
Références ARCANE_THROW.