NimbRo ROS Soccer Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
hash_lib::SHA1 Class Reference

compute SHA1 hash More...

#include <sha1.h>

Public Types

enum  { BlockSize = 512 / 8, HashBytes = 20 }
 split into 64 byte blocks (=> 512 bits), hash is 20 bytes long
 

Public Member Functions

 SHA1 ()
 same as reset()
 
std::string operator() (const void *data, size_t numBytes)
 compute SHA1 of a memory block
 
std::string operator() (const std::string &text)
 compute SHA1 of a string, excluding final zero
 
void add (const void *data, size_t numBytes)
 add arbitrary number of bytes
 
std::string getHash ()
 return latest hash as 40 hex characters
 
void getHash (unsigned char buffer[SHA1::HashBytes])
 return latest hash as bytes
 
void reset ()
 restart
 

Detailed Description

compute SHA1 hash

Usage: SHA1 sha1; std::string myHash = sha1("Hello World"); // std::string std::string myHash2 = sha1("How are you", 11); // arbitrary data, 11 bytes

or in a streaming fashion:

SHA1 sha1;
while (more data available)
  sha1.add(pointer to fresh data, number of new bytes);
std::string myHash3 = sha1.getHash();

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