Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Examples

SHADigest< uint_type, blockSizeInBytes > Class Template Reference

SHADigest Base class for the SHA*Digests. More...

#include <digest.h>

Inheritance diagram for SHADigest< uint_type, blockSizeInBytes >:

Digest List of all members.

Public Member Functions

unsigned getSize (void)=0
void putDigest (const unsigned char *buffer, unsigned length) throw (DigestException)
std::ostream & strDigest (std::ostream &os)=0

Protected Member Functions

void initDigest (void)
virtual void processBlock (const unsigned char *buffer)=0
void padBuffer (unsigned char *buffer)
 SHADigest ()
 SHADigest (const SHADigest &other)
SHADigestoperator= (const SHADigest &other)

Protected Attributes

unsigned char tempBlock [blockSizeInBytes]
bool completed

Detailed Description

template<class uint_type, unsigned blockSizeInBytes>
class SHADigest< uint_type, blockSizeInBytes >

SHADigest Base class for the SHA*Digests.

Generic Class that is the base class of the various SHA*Digest classes.

uint_type == The "Unsigned Integer Type" which is large enough to hold the total length of a given message in bits. For SHA1 and SHA256, this is 64 bits, so we use "uint64";

"blockSizeInBytes" == various SHA digests use different message size blocks - the basic units in which to split a message up in. For example, SHA1 and SHA256 use 512 bit blocks, and so in bytes this is 64.

Author:
Elizabeth Barham <lizzy@soggytrousers.net>


Constructor & Destructor Documentation

template<class uint_type, unsigned blockSizeInBytes>
SHADigest< uint_type, blockSizeInBytes >::SHADigest  )  [protected]
 

template<class uint_type, unsigned blockSizeInBytes>
SHADigest< uint_type, blockSizeInBytes >::SHADigest const SHADigest< uint_type, blockSizeInBytes > &  other  )  [protected]
 


Member Function Documentation

template<class uint_type, unsigned blockSizeInBytes>
unsigned SHADigest< uint_type, blockSizeInBytes >::getSize void   )  [pure virtual]
 

Implements Digest.

Implemented in SHA1Digest, and SHA256Digest.

template<class uint_type, unsigned blockSizeInBytes>
void SHADigest< uint_type, blockSizeInBytes >::initDigest void   )  [protected, virtual]
 

Implements Digest.

Reimplemented in SHA1Digest, and SHA256Digest.

template<class uint_type, unsigned blockSizeInBytes>
SHADigest& SHADigest< uint_type, blockSizeInBytes >::operator= const SHADigest< uint_type, blockSizeInBytes > &  other  )  [protected]
 

template<class uint_type, unsigned blockSizeInBytes>
void SHADigest< uint_type, blockSizeInBytes >::padBuffer unsigned char *  buffer  )  [protected]
 

template<class uint_type, unsigned blockSizeInBytes>
virtual void SHADigest< uint_type, blockSizeInBytes >::processBlock const unsigned char *  buffer  )  [protected, pure virtual]
 

Implemented in SHA1Digest, and SHA256Digest.

template<class uint_type, unsigned blockSizeInBytes>
void SHADigest< uint_type, blockSizeInBytes >::putDigest const unsigned char *  buffer,
unsigned  length
throw (DigestException) [virtual]
 

Implements Digest.

template<class uint_type, unsigned blockSizeInBytes>
std::ostream& SHADigest< uint_type, blockSizeInBytes >::strDigest std::ostream &  os  )  [pure virtual]
 

Implements Digest.

Implemented in SHA64DigestHelper.


Member Data Documentation

template<class uint_type, unsigned blockSizeInBytes>
bool SHADigest< uint_type, blockSizeInBytes >::completed [protected]
 

template<class uint_type, unsigned blockSizeInBytes>
unsigned char SHADigest< uint_type, blockSizeInBytes >::tempBlock[blockSizeInBytes] [protected]
 


The documentation for this class was generated from the following file:
Generated on Thu Sep 25 13:14:33 2003 for GNU CommonC++ by doxygen 1.3.3