10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::crypto::libcrypto::LibCryptoMessageDigest Class Reference

#include <LibcryptoMessageDigest.h>

Detailed Description

Libcrypto-implementation of tenduke::crypto::MessageDigest.

Inheritance diagram for tenduke::crypto::libcrypto::LibCryptoMessageDigest:
tenduke::crypto::MessageDigest

Public Member Functions

 LibCryptoMessageDigest (const char *algorithmName)
 Constructs new instance.
 
std::size_t length () const override
 Returns length (in bytes) of the resulting digest.
 
MessageDigestupdate (const unsigned char *message, std::size_t messageLength) override
 Updates the digest.
 
void digestTo (unsigned char *digest) override
 Computes the digest to pre-allocated buffer.
 
std::unique_ptr< tenduke::utl::BinaryDatadigest () override
 Computes the digest.
 

Protected Member Functions

 LibCryptoMessageDigest (const char *algorithmName, const EVP_MD *digest)
 Constructs new instance.
 

Additional Inherited Members

- Public Types inherited from tenduke::crypto::MessageDigest
enum  Algorithm { NONE , SHA256 }
 Supported algorithms.
 
- Static Public Member Functions inherited from tenduke::crypto::MessageDigest
static std::string algorithmToString (enum MessageDigest::Algorithm algorithm)
 Converts algorithm to string representation.
 
static enum MessageDigest::Algorithm stringToAlgorithm (const std::string &string)
 Converts string to algorithm.
 
static enum MessageDigest::Algorithm stringToAlgorithm (const char *string)
 Converts string to algorithm.
 

Constructor & Destructor Documentation

◆ LibCryptoMessageDigest() [1/2]

tenduke::crypto::libcrypto::LibCryptoMessageDigest::LibCryptoMessageDigest ( const char *  algorithmName)
explicit

Constructs new instance.

Parameters
algorithmName-

◆ LibCryptoMessageDigest() [2/2]

tenduke::crypto::libcrypto::LibCryptoMessageDigest::LibCryptoMessageDigest ( const char *  algorithmName,
const EVP_MD *  digest 
)
protected

Constructs new instance.

Parameters
algorithmName-
digest-

Member Function Documentation

◆ digest()

std::unique_ptr< xdutl::BinaryData > tenduke::crypto::libcrypto::LibCryptoMessageDigest::digest ( )
overridevirtual

Computes the digest.

Returns
data-object containing the digest
Exceptions
tenduke::crypto::CryptoExceptionon error

Implements tenduke::crypto::MessageDigest.

◆ digestTo()

void tenduke::crypto::libcrypto::LibCryptoMessageDigest::digestTo ( unsigned char *  messageDigest)
overridevirtual

Computes the digest to pre-allocated buffer.

Parameters
messageDigestthe computed digest is placed here (needs to proper size, use MessageDigest::length()).
Exceptions
tenduke::crypto::CryptoExceptionon error

Implements tenduke::crypto::MessageDigest.

◆ length()

size_t tenduke::crypto::libcrypto::LibCryptoMessageDigest::length ( ) const
overridevirtual

Returns length (in bytes) of the resulting digest.

Returns
-

Implements tenduke::crypto::MessageDigest.

◆ update()

xdcrypto::MessageDigest * tenduke::crypto::libcrypto::LibCryptoMessageDigest::update ( const unsigned char *  message,
std::size_t  messageLength 
)
overridevirtual

Updates the digest.

Parameters
message-
messageLength-
Returns
this instance for chaining
Exceptions
tenduke::crypto::CryptoExceptionon error

Implements tenduke::crypto::MessageDigest.


The documentation for this class was generated from the following files: