herald  2.0.0
sha256.h
1 // Copyright 2021 Herald Project Contributors
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #ifndef HERALD_SHA256_H
6 #define HERALD_SHA256_H
7 
8 #include "data.h"
9 
10 #include <memory>
11 
12 namespace herald {
13 namespace datatype {
14 
15 class SHA256 {
16 public:
17  SHA256() noexcept;
18  ~SHA256() noexcept;
19 
20  Data digest(const Data& with) noexcept;
21 
22  void reset() noexcept; // Initialise to all zeros
23 
24 private:
25  // No internal state required for Windows or TinyCrypt or mbedtls
26 };
27 
28 }
29 }
30 
31 #endif
The main data workhorse class of the Herald API.
Definition: data.h:33
Definition: sha256.h:15
Acts as a non-global memory arena for arbitrary classes.
Definition: aggregates.h:15