CppCMS
Public Member Functions | Static Public Member Functions | Protected Member Functions
cppcms::crypto::message_digest Class Reference

this class provides an API to calculate various cryptographic hash functions More...

#include <cppcms/crypto.h>

Inheritance diagram for cppcms::crypto::message_digest:
booster::noncopyable

List of all members.

Public Member Functions

virtual unsigned digest_size () const =0
virtual unsigned block_size () const =0
virtual void append (void const *ptr, size_t size)=0
virtual void readout (void *ptr)=0
virtual message_digestclone () const =0
virtual char const * name () const =0

Static Public Member Functions

static std::auto_ptr
< message_digest
md5 ()
static std::auto_ptr
< message_digest
sha1 ()
static std::auto_ptr
< message_digest
create_by_name (std::string const &name)

Protected Member Functions

 message_digest ()
 It should be implemented in derived classes.

Detailed Description

this class provides an API to calculate various cryptographic hash functions


Member Function Documentation

virtual void cppcms::crypto::message_digest::append ( void const *  ptr,
size_t  size 
) [pure virtual]

Add more data of size bytes for processing

virtual unsigned cppcms::crypto::message_digest::block_size ( ) const [pure virtual]

Get processing block size, returns 64 or 128, used mostly for correct HMAC calculations

virtual message_digest* cppcms::crypto::message_digest::clone ( ) const [pure virtual]

Make a polymorphic copy of this object, note the state of copied object is reset to initial

static std::auto_ptr<message_digest> cppcms::crypto::message_digest::create_by_name ( std::string const &  name) [static]

Create message digest by name, more then sha1 and md5 may be supported, if CppCMS is compiled with cryptography library like libgcrypt or openssl

virtual unsigned cppcms::crypto::message_digest::digest_size ( ) const [pure virtual]

Get the size of message digest, for example for MD5 it is 16, for SHA1 it is 20

static std::auto_ptr<message_digest> cppcms::crypto::message_digest::md5 ( ) [static]

Create MD5 message digest

virtual char const* cppcms::crypto::message_digest::name ( ) const [pure virtual]

Get the name of the hash function

virtual void cppcms::crypto::message_digest::readout ( void *  ptr) [pure virtual]

Read the message digest for the data and reset it into initial state, provided buffer must be digest_size() bytes

static std::auto_ptr<message_digest> cppcms::crypto::message_digest::sha1 ( ) [static]

Create SHA1 message digest


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