Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base > Class Template Reference

#include <iterhash.h>

Inheritance diagram for IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >:

IteratedHashBase2< T_HashWordType, T_Endianness, T_Base > IteratedHashBase< T_HashWordType, T_Base > List of all members.

Detailed Description

template<class T_HashWordType, class T_Endianness, unsigned int T_BlockSize, class T_Base = HashTransformation>
class IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >

_

Definition at line 75 of file iterhash.h.

Public Types

enum  { BLOCKSIZE = T_BlockSize }
typedef T_Endianness ByteOrderClass
typedef IteratedHashBase<
T_HashWordType, T_Base
>::HashWordType 
HashWordType

Public Member Functions

void TruncatedFinal (byte *digest, unsigned int size)
unsigned int BlockSize () const
unsigned int OptimalBlockSize () const
unsigned int OptimalDataAlignment () const
void Update (const byte *input, unsigned int length)
byte * CreateUpdateSpace (unsigned int &size)
void Restart ()

Static Public Member Functions

static void CorrectEndianess (HashWordType *out, const HashWordType *in, unsigned int byteCount)

Static Public Attributes

static CompileAssert<((BLOCKSIZE
&(BLOCKSIZE-1))==0)> 
cryptopp_assert___LINE__

Protected Member Functions

void HashBlock (const HashWordType *input)
virtual void HashBlock (const T_HashWordType *input)=0
virtual void HashEndianCorrectedBlock (const HashWordType *data)=0
void SetBlockSize (unsigned int blockSize)
void SetStateSize (unsigned int stateSize)
T_HashWordType GetBitCountHi () const
T_HashWordType GetBitCountLo () const
virtual unsigned int HashMultipleBlocks (const T_HashWordType *input, unsigned int length)
void PadLastBlock (unsigned int lastBlockSize, byte padFirst=0x80)
virtual void Init ()=0

Protected Attributes

SecBlock< T_HashWordType > m_data
SecBlock< T_HashWordType > m_digest


The documentation for this class was generated from the following file:
Generated on Sat Jan 22 09:45:07 2005 for Crypto++ by  doxygen 1.4.0