10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
MessageDigest.h
1#ifndef TENDUKE_CRYPTO_MESSAGEDIGEST_H
2#define TENDUKE_CRYPTO_MESSAGEDIGEST_H
3
4#include "../../utl/BinaryData.h"
5#include <cstddef>
6#include <memory>
7#include <string>
8
9namespace tenduke { namespace crypto {
10
18{
19
20public:
21 virtual ~MessageDigest() = default;
22
27 virtual std::size_t length() const = 0;
28
37 const unsigned char * message,
38 std::size_t messageLength
39 ) = 0;
40
46 virtual void digestTo(unsigned char * messageDigest) = 0;
47
53 virtual std::unique_ptr<tenduke::utl::BinaryData> digest() = 0;
54
55};
56
57
58}}
59
60#endif // TENDUKE_CRYPTO_MESSAGEDIGEST_H
Simple MessageDigest-service: E.g.
Definition MessageDigest.h:18
virtual MessageDigest * update(const unsigned char *message, std::size_t messageLength)=0
Updates the digest.
virtual std::unique_ptr< tenduke::utl::BinaryData > digest()=0
Computes the digest.
virtual std::size_t length() const =0
Returns length (in bytes) of the resulting digest.
virtual void digestTo(unsigned char *messageDigest)=0
Computes the digest to pre-allocated buffer.
Cryptography services.
Definition AbstractCiphers.h:18
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4