Quick Links:

bal | bbl | bdl | bsl

Public Member Functions | Static Public Attributes | Friends

bdlde::Sha1 Class Reference

#include <bdlde_sha1.h>

List of all members.

Public Member Functions

 Sha1 ()
 Sha1 (const void *data, bsl::size_t length)
void loadDigestAndReset (unsigned char *result)
void reset ()
void update (const void *data, bsl::size_t length)
void loadDigest (unsigned char *result) const
bsl::ostream & print (bsl::ostream &stream) const

Static Public Attributes

static const bsl::size_t k_DIGEST_SIZE = 160 / 8

Friends

bool operator== (const Sha1 &, const Sha1 &)

Detailed Description

This class represents a SHA-1 digest that can be updated as additional data is provided.

More generally, this class supports a complete set of value semantic operations, including copy construction, assignment, equality comparison, and ostream printing. (A precise operational definition of when two instances have the same value can be found in the description of operator== for the class.) This container is exception neutral with no guarantee of rollback: if an exception is thrown during the invocation of a method on a pre-existing instance, the class is left in a valid state, but its value is undefined. In no event is memory leaked. Finally, aliasing (e.g., using all or part of an object as both source and destination) is supported in all cases.

See Component bdlde_sha1


Constructor & Destructor Documentation

bdlde::Sha1::Sha1 (  ) 

Construct a SHA-1 digest having the value corresponding to no data having been provided.

bdlde::Sha1::Sha1 ( const void *  data,
bsl::size_t  length 
)

Construct a SHA-1 digest corresponding to the specified data having the specified length (in bytes). Note that if data is null, then length must be 0.


Member Function Documentation

void bdlde::Sha1::loadDigestAndReset ( unsigned char *  result  ) 

Load the current value of this SHA-1 digest into the specified result and reset this Sha1 object to the default-constructed state.

void bdlde::Sha1::reset (  ) 

Reset the value of this SHA-1 digest to the value provided by the default constructor.

void bdlde::Sha1::update ( const void *  data,
bsl::size_t  length 
)

Update the value of this SHA-1 digest to incorporate the specified data having the specified length in bytes. If the current state is the default state, the resultant value of this SHA-1 digest is the application of the SHA-1 algorithm upon the currently given data of the given length. If this digest has been previously provided data and has not been subsequently reset, the current state is not the default state and the resultant value is equivalent to applying the SHA-1 algorithm upon the concatenation of all the provided data. The behavior is undefined unless the range [data, data + length) is a valid range. Note that if data is null, then length must be 0.

void bdlde::Sha1::loadDigest ( unsigned char *  result  )  const

Load the current value of this SHA-1 digest into the specified result.

bsl::ostream& bdlde::Sha1::print ( bsl::ostream &  stream  )  const

Format the current value of this SHA-1 digest to the specified output stream and return a reference to the modifiable stream.


Friends And Related Function Documentation

bool operator== ( const Sha1 ,
const Sha1  
) [friend]

Return true if the specified lhs and rhs SHA-1 digests have the same value, and false otherwise. Two digests have the same value if, after applying any number of equivalent updates to both (possibly including no updates), the values obtained from their respective loadDigest methods are identical.


Member Data Documentation

const bsl::size_t bdlde::Sha1::k_DIGEST_SIZE = 160 / 8 [static]

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