ost::SHADigest< uint_type, blockSizeInBytes > Class Template Reference

SHADigestBase class for the SHA*Digests. More...

#include <digest.h>

Inheritance diagram for ost::SHADigest< uint_type, blockSizeInBytes >:

ost::Digest List of all members.

Public Member Functions

unsigned getSize (void)=0
void putDigest (const unsigned char *buffer, unsigned length) THROWS(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 ost::SHADigest< uint_type, blockSizeInBytes >

SHADigestBase 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>
ost::SHADigest< uint_type, blockSizeInBytes >::SHADigest  )  [protected]
 

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


Member Function Documentation

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

Implements ost::Digest.

Implemented in ost::SHA1Digest, and ost::SHA256Digest.

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

Implements ost::Digest.

Reimplemented in ost::SHA1Digest, and ost::SHA256Digest.

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

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

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

Implemented in ost::SHA1Digest, and ost::SHA256Digest.

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

Implements ost::Digest.

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

Implements ost::Digest.

Implemented in ost::SHA64DigestHelper.


Member Data Documentation

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

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


The documentation for this class was generated from the following file:
Generated on Thu Apr 6 09:03:04 2006 for Bayonne Framework by  doxygen 1.4.6