ROSE  0.11.145.0
Public Member Functions | List of all members
Rose::Combinatorics::HasherGcrypt< hashAlgorithmId > Class Template Reference

Description

template<int hashAlgorithmId>
class Rose::Combinatorics::HasherGcrypt< hashAlgorithmId >

Hasher for any libgcrypt hash algorithm.

The hashAlgorithmId template parameter is one of the libgcrypt algorithm constants (type int) with a name starting with "GCRY_MD_". You can find a list here.

Definition at line 335 of file Combinatorics.h.

#include <roseSupport/Combinatorics.h>

Inheritance diagram for Rose::Combinatorics::HasherGcrypt< hashAlgorithmId >:
Inheritance graph
[legend]
Collaboration diagram for Rose::Combinatorics::HasherGcrypt< hashAlgorithmId >:
Collaboration graph
[legend]

Public Member Functions

 HasherGcrypt (const HasherGcrypt &other)
 
HasherGcryptoperator= (const HasherGcrypt &other)
 
void clear ()
 Reset the hasher to its initial state. More...
 
const Digestdigest ()
 Return the digest. More...
 
void append (const uint8_t *message, size_t messageSize)
 Insert data into the digest. More...
 
- Public Member Functions inherited from Rose::Combinatorics::Hasher
std::string toString ()
 String representation of the digest. More...
 
void print (std::ostream &)
 Print a hash to a stream. More...
 
void insert (const std::string &x)
 Insert data into the digest. More...
 
void insert (uint64_t x)
 Insert data into the digest. More...
 
void insert (const uint8_t *x, size_t size)
 Insert data into the digest. More...
 
void insert (const std::vector< uint8_t > &v)
 Insert data into the digest. More...
 
void insert (std::istream &stream)
 Insert data into the digest. More...
 

Additional Inherited Members

- Public Types inherited from Rose::Combinatorics::Hasher
typedef std::vector< uint8_t > Digest
 The digest of the input message. More...
 
- Static Public Member Functions inherited from Rose::Combinatorics::Hasher
static std::string toString (const Digest &)
 Convert a digest to a hexadecimal string. More...
 
- Protected Attributes inherited from Rose::Combinatorics::Hasher
Digest digest_
 

Member Function Documentation

template<int hashAlgorithmId>
void Rose::Combinatorics::HasherGcrypt< hashAlgorithmId >::clear ( )
inlinevirtual

Reset the hasher to its initial state.

Reimplemented from Rose::Combinatorics::Hasher.

Definition at line 375 of file Combinatorics.h.

References Rose::Combinatorics::Hasher::clear().

template<int hashAlgorithmId>
const Digest& Rose::Combinatorics::HasherGcrypt< hashAlgorithmId >::digest ( )
inlinevirtual

Return the digest.

Finalizes the hash function and returns the digest for all the input. Additional input should not be inserted after this function is called since some hash functions don't support this.

Reimplemented from Rose::Combinatorics::Hasher.

Definition at line 382 of file Combinatorics.h.

References Rose::Combinatorics::Hasher::digest().

template<int hashAlgorithmId>
void Rose::Combinatorics::HasherGcrypt< hashAlgorithmId >::append ( const uint8_t *  message,
size_t  messageSize 
)
inlinevirtual

Insert data into the digest.

This is the lowest level method of inserting new message content into the digest. This can be called as often as desired, building a digest incrementally.

Implements Rose::Combinatorics::Hasher.

Definition at line 397 of file Combinatorics.h.


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