10Duke Enterprise C++ SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
WinCNGMessageDigest.h
1
#ifndef TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGEST_H
2
#define TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGEST_H
3
4
#include "crypto/MessageDigest.h"
5
#include "utl/FixedSizeBinaryData.h"
6
7
#include <memory>
8
9
#include <windows.h>
10
#include <bcrypt.h>
11
12
namespace
tenduke
{
namespace
crypto
{
namespace
win {
namespace
cng {
13
14
18
class
WinCNGMessageDigest
:
public
MessageDigest
19
{
20
public
:
24
explicit
WinCNGMessageDigest
(::BCRYPT_ALG_HANDLE algorithm);
25
~WinCNGMessageDigest
()
override
;
26
27
// ::tenduke::crypto::MessageDigest implementation
28
public
:
29
std::size_t
length
()
const override
;
30
MessageDigest
*
update
(
31
const
unsigned
char
* message,
32
std::size_t messageLength
33
)
override
;
34
void
digestTo
(
unsigned
char
*
digest
)
override
;
35
std::unique_ptr<tenduke::utl::BinaryData>
digest
()
override
;
36
37
private
:
38
::BCRYPT_HASH_HANDLE handle;
39
size_t
digestLength;
40
std::unique_ptr<::tenduke::utl::FixedSizeBinaryData> digestBuffer;
41
};
42
43
}}}}
44
45
#endif
// TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGEST_H
tenduke::crypto::MessageDigest
Simple MessageDigest -service.
Definition
MessageDigest.h:21
tenduke::crypto::win::cng::WinCNGMessageDigest::digestTo
void digestTo(unsigned char *digest) override
Computes the digest to pre-allocated buffer.
Definition
WinCNGMessageDigest.cpp:40
tenduke::crypto::win::cng::WinCNGMessageDigest::WinCNGMessageDigest
WinCNGMessageDigest(::BCRYPT_ALG_HANDLE algorithm)
Constructs new instance.
Definition
WinCNGMessageDigest.cpp:64
tenduke::crypto::win::cng::WinCNGMessageDigest::digest
std::unique_ptr< tenduke::utl::BinaryData > digest() override
Computes the digest.
Definition
WinCNGMessageDigest.cpp:54
tenduke::crypto::win::cng::WinCNGMessageDigest::length
std::size_t length() const override
Returns length (in bytes) of the resulting digest.
Definition
WinCNGMessageDigest.cpp:15
tenduke::crypto::win::cng::WinCNGMessageDigest::update
MessageDigest * update(const unsigned char *message, std::size_t messageLength) override
Updates the digest.
Definition
WinCNGMessageDigest.cpp:21
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
windows
src
crypto
WinCNGMessageDigest.h
Generated by
1.17.0