1#ifndef TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGEST_H
2#define TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGEST_H
4#include "crypto/MessageDigest.h"
5#include "utl/FixedSizeBinaryData.h"
12namespace tenduke {
namespace crypto {
namespace win {
namespace cng {
29 std::size_t
length()
const override;
31 const unsigned char * message,
32 std::size_t messageLength
35 std::unique_ptr<tenduke::utl::BinaryData>
digest()
override;
38 ::BCRYPT_HASH_HANDLE handle;
40 std::unique_ptr<::tenduke::utl::FixedSizeBinaryData> digestBuffer;
Simple MessageDigest -service.
Definition MessageDigest.h:21
void digestTo(unsigned char *digest) override
Computes the digest to pre-allocated buffer.
Definition WinCNGMessageDigest.cpp:40
WinCNGMessageDigest(::BCRYPT_ALG_HANDLE algorithm)
Constructs new instance.
Definition WinCNGMessageDigest.cpp:64
std::unique_ptr< tenduke::utl::BinaryData > digest() override
Computes the digest.
Definition WinCNGMessageDigest.cpp:54
std::size_t length() const override
Returns length (in bytes) of the resulting digest.
Definition WinCNGMessageDigest.cpp:15
MessageDigest * update(const unsigned char *message, std::size_t messageLength) override
Updates the digest.
Definition WinCNGMessageDigest.cpp:21
Cryptography services.
Definition CryptoException.h:7
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4