Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
SHA1HashAlgorithm.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* SHA1HashAlgorithm.h (C) 2000-2023 */
9/* */
10/* Calcule la fonction de hashage SHA-1. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_SHA1HASHALGORITHM_H
13#define ARCANE_UTILS_SHA1HASHALGORITHM_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/IHashAlgorithm.h"
18#include "arcane/utils/String.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::SHA1Algorithm
24{
25class SHA1;
26}
27
28namespace Arcane
29{
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
36class ARCANE_UTILS_EXPORT SHA1HashAlgorithm
37: public IHashAlgorithm
38{
39 public:
40
41 void computeHash(Span<const std::byte> input, HashAlgorithmValue& value) override;
42 void computeHash(ByteConstArrayView input, ByteArray& output) override;
43 void computeHash64(Span<const Byte> input, ByteArray& output) override;
44 void computeHash64(Span<const std::byte> input, ByteArray& output) override;
45 String name() const override { return "SHA1"; }
46 Int32 hashSize() const override { return 20; }
47 Ref<IHashAlgorithmContext> createContext() override;
48 bool hasCreateContext() const override { return true; }
49
50 private:
51
52 void _computeHash64(Span<const std::byte> input, ByteArray& output);
53 void _computeHash(Span<const std::byte> input, HashAlgorithmValue& value);
54};
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
58
59} // namespace Arcane
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
63
64#endif
Tableau d'items de types quelconques.
Valeur retournée par un algorithme de hashage.
Interface d'un algorithme de hashage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Implémentation de l'algorithme SHA-1.
Int32 hashSize() const override
Taille (en octet) de la clé de hash.
bool hasCreateContext() const override
Indique si l'implémentation supporte un hash incrémental.
String name() const override
Nom de l'algorithme.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-