Yate
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
SHA1 Class Reference

A standard SHA1 digest calculator. More...

#include <yateclass.h>

Inheritance diagram for SHA1:
Hasher

Public Member Functions

 SHA1 ()
 
 SHA1 (const SHA1 &original)
 
 SHA1 (const void *buf, unsigned int len)
 
 SHA1 (const DataBlock &data)
 
 SHA1 (const String &str)
 
SHA1operator= (const SHA1 &original)
 
virtual ~SHA1 ()
 
virtual void clear ()
 
virtual void finalize ()
 
virtual const unsigned char * rawDigest ()
 
virtual unsigned int hashLength () const
 
- Public Member Functions inherited from Hasher
virtual ~Hasher ()
 
const StringhexDigest ()
 
bool update (const void *buf, unsigned int len)
 
bool update (const DataBlock &data)
 
bool update (const String &str)
 
Hasheroperator<< (const String &value)
 
Hasheroperator<< (const DataBlock &data)
 
Hasheroperator<< (const char *value)
 
bool hmacStart (DataBlock &opad, const void *key, unsigned int keyLen)
 
bool hmacStart (DataBlock &opad, const DataBlock &key)
 
bool hmacStart (DataBlock &opad, const String &key)
 
bool hmacFinal (const DataBlock &opad)
 
bool hmac (const void *key, unsigned int keyLen, const void *msg, unsigned int msgLen)
 
bool hmac (const DataBlock &key, const DataBlock &msg)
 
bool hmac (const String &key, const String &msg)
 
virtual unsigned int hmacBlockSize () const
 

Static Public Member Functions

static unsigned int rawLength ()
 
static bool fips186prf (DataBlock &out, const DataBlock &seed, unsigned int len)
 

Protected Member Functions

bool updateInternal (const void *buf, unsigned int len)
 
- Protected Member Functions inherited from Hasher
 Hasher ()
 

Additional Inherited Members

- Protected Attributes inherited from Hasher
void * m_private
 
String m_hex
 

Detailed Description

A standard SHA1 digest calculator.

A class to compute and check SHA1 digests

Constructor & Destructor Documentation

SHA1 ( )

Construct a fresh initialized instance

SHA1 ( const SHA1 original)

Copy constructor

Parameters
originalSHA1 instance to copy
SHA1 ( const void *  buf,
unsigned int  len 
)

Construct a digest from a buffer of data

Parameters
bufPointer to the data to be included in digest
lenLength of data in the buffer
SHA1 ( const DataBlock data)

Construct a digest from a binary DataBlock

Parameters
dataBinary data to be included in digest
SHA1 ( const String str)

Construct a digest from a String

Parameters
strString to be included in digest
virtual ~SHA1 ( )
virtual

Destroy the instance, free allocated memory

Member Function Documentation

virtual void clear ( )
virtual

Clear the digest and prepare for reuse

Implements Hasher.

virtual void finalize ( )
virtual

Finalize the digest computation, make result ready. Subsequent calls to update() will fail

Implements Hasher.

static bool fips186prf ( DataBlock out,
const DataBlock seed,
unsigned int  len 
)
static

NIST FIPS 186-2 change notice 1 Pseudo Random Function. Uses a b=160 bits SHA1 based G(t,c) function with no XSEEDj

Parameters
outBlock to fill with pseudo-random data
seedData to use as RNG seed, must be 1 to 64 octets long
lenDesired output length in octets, must be 1 to 512
Returns
True on success, false on invalid lengths
virtual unsigned int hashLength ( ) const
inlinevirtual

Return the length of the raw binary digest

Returns
Length of the digest in octets

Implements Hasher.

SHA1& operator= ( const SHA1 original)

Assignment operator.

virtual const unsigned char* rawDigest ( )
virtual

Returns a pointer to the raw 20-byte binary value of the message digest. The digest is finalized if if wasn't already

Returns
Pointer to the raw digest data or NULL if some error occured

Implements Hasher.

static unsigned int rawLength ( )
inlinestatic

Return the length of the raw binary digest

Returns
Constant value of 20
bool updateInternal ( const void *  buf,
unsigned int  len 
)
protectedvirtual

Update the digest from a buffer of data

Parameters
bufPointer to the data to be included in digest
lenLength of data in the buffer
Returns
True if success, false if finalize() was already called

Implements Hasher.


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