10Duke Enterprise C++ SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
LibcryptoMessageDigest.h
1
#ifndef TENDUKE_LIBCRYPTO_LIBCRYPTOMESSAGEDIGEST_H
2
#define TENDUKE_LIBCRYPTO_LIBCRYPTOMESSAGEDIGEST_H
3
4
#include "crypto/MessageDigest.h"
5
6
#include <memory>
7
#include <openssl/evp.h>
8
9
namespace
tenduke
{
namespace
crypto
{
namespace
libcrypto
{
10
12
const
char
*
const
ALGORITHM_SHA256
=
"sha256"
;
13
14
18
class
LibCryptoMessageDigest
:
public
MessageDigest
19
{
20
public
:
25
explicit
LibCryptoMessageDigest
(
const
char
* algorithmName);
26
~LibCryptoMessageDigest
()
override
;
27
28
// tenduke::crypto::MessageDigest
29
public
:
30
std::size_t
length
()
const override
;
31
MessageDigest
*
update
(
32
const
unsigned
char
* message,
33
std::size_t messageLength
34
)
override
;
35
void
digestTo
(
unsigned
char
*
digest
)
override
;
36
std::unique_ptr<tenduke::utl::BinaryData>
digest
()
override
;
37
38
protected
:
44
LibCryptoMessageDigest
(
45
const
char
* algorithmName,
46
const
EVP_MD *
digest
47
);
48
49
private
:
50
const
EVP_MD * theDigest;
51
const
std::unique_ptr<EVP_MD_CTX,
decltype
(EVP_MD_CTX_free) *> ctx;
52
};
53
54
55
}}}
56
57
#endif
// TENDUKE_LIBCRYPTO_LIBCRYPTOMESSAGEDIGEST_H
tenduke::crypto::MessageDigest
Simple MessageDigest -service.
Definition
MessageDigest.h:21
tenduke::crypto::libcrypto::LibCryptoMessageDigest::digest
std::unique_ptr< tenduke::utl::BinaryData > digest() override
Computes the digest.
Definition
LibcryptoMessageDigest.cpp:81
tenduke::crypto::libcrypto::LibCryptoMessageDigest::update
MessageDigest * update(const unsigned char *message, std::size_t messageLength) override
Updates the digest.
Definition
LibcryptoMessageDigest.cpp:49
tenduke::crypto::libcrypto::LibCryptoMessageDigest::LibCryptoMessageDigest
LibCryptoMessageDigest(const char *algorithmName)
Constructs new instance.
Definition
LibcryptoMessageDigest.cpp:36
tenduke::crypto::libcrypto::LibCryptoMessageDigest::digestTo
void digestTo(unsigned char *digest) override
Computes the digest to pre-allocated buffer.
Definition
LibcryptoMessageDigest.cpp:68
tenduke::crypto::libcrypto::LibCryptoMessageDigest::length
std::size_t length() const override
Returns length (in bytes) of the resulting digest.
Definition
LibcryptoMessageDigest.cpp:43
tenduke::crypto::libcrypto
libcrypto based implementations of cryptography services.
Definition
AsymmetricMessageDigest.h:15
tenduke::crypto::libcrypto::ALGORITHM_SHA256
const char *const ALGORITHM_SHA256
Libcrypto name for SHA256.
Definition
LibcryptoMessageDigest.h:12
tenduke::crypto
Cryptography services.
Definition
AbstractCiphers.h:12
tenduke
Root for classes, functions and globals of 10Duke C++ Client.
Definition
APIRequest.h:4
core
services
default
src
crypto
LibcryptoMessageDigest.h
Generated by
1.17.0