| Yate
    | 
An abstract hashing class. More...
#include <yateclass.h>
 
  
 | Public Member Functions | |
| virtual | ~Hasher () | 
| virtual void | clear ()=0 | 
| virtual void | finalize ()=0 | 
| virtual const unsigned char * | rawDigest ()=0 | 
| const String & | hexDigest () | 
| bool | update (const void *buf, unsigned int len) | 
| bool | update (const DataBlock &data) | 
| bool | update (const String &str) | 
| Hasher & | operator<< (const String &value) | 
| Hasher & | operator<< (const DataBlock &data) | 
| Hasher & | operator<< (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 | hashLength () const =0 | 
| virtual unsigned int | hmacBlockSize () const | 
| Protected Member Functions | |
| Hasher () | |
| virtual bool | updateInternal (const void *buf, unsigned int len)=0 | 
| Protected Attributes | |
| void * | m_private | 
| String | m_hex | 
An abstract hashing class.
Abstract base class representing a hash calculator
| 
 | virtual | 
Destroy the instance, free allocated memory
| 
 | inlineprotected | 
Default constructor
| 
 | pure virtual | 
| 
 | pure virtual | 
Finalize the digest computation, make result ready. Subsequent calls to update() will fail
Implemented in SHA256, SHA1, and MD5.
Referenced by Hasher::hexDigest().
| 
 | pure virtual | 
| 
 | inline | 
Returns the standard hexadecimal representation of the message digest. The digest is finalized if if wasn't already
References Hasher::finalize().
Referenced by ClientContact::buildIdHash().
| bool hmac | ( | const void * | key, | 
| unsigned int | keyLen, | ||
| const void * | msg, | ||
| unsigned int | msgLen | ||
| ) | 
Compute a Message Authentication Code with this hash
Referenced by Hasher::hmac().
Compute a Message Authentication Code with this hash
| key | Secret key | 
| msg | Message to authenticate | 
References DataBlock::data(), Hasher::hmac(), and DataBlock::length().
Compute a Message Authentication Code with this hash
| key | Secret key string | 
| msg | Message string to authenticate | 
References String::c_str(), Hasher::hmac(), and String::length().
| 
 | virtual | 
Return the size of the block used in HMAC calculations
| bool hmacFinal | ( | const DataBlock & | opad | ) | 
Finalize a HMAC calculation with this hash
| opad | Outer pad as filled by hmacStart | 
| bool hmacStart | ( | DataBlock & | opad, | 
| const void * | key, | ||
| unsigned int | keyLen | ||
| ) | 
Start a HMAC calculation, initialize the hash and the outer pad
| opad | Outer pad to be filled from key | 
| key | Secret key | 
| keyLen | Secret key length | 
Referenced by Hasher::hmacStart().
Start a HMAC calculation, initialize the hash and the outer pad
| opad | Outer pad to be filled from key | 
| key | Secret key | 
References DataBlock::data(), Hasher::hmacStart(), and DataBlock::length().
Start a HMAC calculation, initialize the hash and the outer pad
| opad | Outer pad to be filled from key | 
| key | Secret key string | 
References String::c_str(), Hasher::hmacStart(), and String::length().
Digest updating operator for Strings
| value | String to be included in digest | 
References Hasher::update().
Digest updating operator for DataBlocks
| data | Data to be included in digest | 
References Hasher::update().
| Hasher& operator<< | ( | const char * | value | ) | 
Digest updating operator for C strings
| value | String to be included in digest | 
| 
 | pure virtual | 
| 
 | inline | 
Update the digest from a buffer of data
| buf | Pointer to the data to be included in digest | 
| len | Length of data in the buffer | 
References Hasher::updateInternal().
Referenced by Hasher::operator<<().
| 
 | inline | 
Update the digest from the content of a DataBlock
| data | Data to be included in digest | 
References DataBlock::data(), DataBlock::length(), and Hasher::updateInternal().
| 
 | inline | 
Update the digest from the content of a String
| str | String to be included in digest | 
References String::c_str(), String::length(), and Hasher::updateInternal().
| 
 | protectedpure virtual | 
Update the digest from a buffer of data
| buf | Pointer to the data to be included in digest | 
| len | Length of data in the buffer | 
Implemented in SHA256, SHA1, and MD5.
Referenced by Hasher::update().
 1.8.8
 1.8.8