AnCH Framework  0.1
Another C++ Hack Framework
Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
anch::crypto::MD5 Class Reference

MD5 hash algorithm implementation. More...

#include <md5.hpp>

Inheritance diagram for anch::crypto::MD5:
Collaboration diagram for anch::crypto::MD5:

Public Member Functions

 MD5 ()
 
template<class CharT , class Traits , class Allocator >
 MD5 (const std::basic_string< CharT, Traits, Allocator > &data)
 
template<class CharT , class Traits >
 MD5 (std::basic_istream< CharT, Traits > &stream)
 
virtual ~MD5 ()
 
virtual const std::array< uint8_t, 16 > & digest () const override
 
- Public Member Functions inherited from anch::crypto::Hash< 16, 64 >
const std::array< uint8_t, O > & digest (const std::basic_string< CharT, Traits, Allocator > &data)
 
const std::array< uint8_t, O > & digest (const std::array< uint8_t, N > &data)
 
const std::array< uint8_t, O > & digest (const uint8_t *data, std::size_t len)
 
const std::array< uint8_t, O > & digest (std::basic_istream< CharT, Traits > &stream)
 

Protected Member Functions

virtual void reset () override
 
virtual void addData (const uint8_t *data, std::size_t len) override
 
virtual void finalize () override
 

Friends

MD5 anch::crypto::HMAC (const std::string &, const std::string &)
 

Additional Inherited Members

- Static Public Member Functions inherited from anch::crypto::Hash< 16, 64 >
static constexpr std::size_t getOutputSize ()
 
static constexpr std::size_t getBlockSize ()
 

Detailed Description

MD5 hash algorithm implementation.

This algorithm is based on Qt framework algorithm.

Author
Vincent Lachenal

Constructor & Destructor Documentation

MD5::MD5 ( )

MD5 default constructor

template<class CharT , class Traits , class Allocator >
anch::crypto::MD5::MD5 ( const std::basic_string< CharT, Traits, Allocator > &  data)
inline

MD5 constructor with string

Parameters
dataThe string data to process
template<class CharT , class Traits >
anch::crypto::MD5::MD5 ( std::basic_istream< CharT, Traits > &  stream)
inline

MD5 constructor with input stream.

Parameters
streamThe input stream to process
MD5::~MD5 ( )
virtual

MD5 destructor

Member Function Documentation

void MD5::addData ( const uint8_t *  data,
std::size_t  len 
)
overrideprotectedvirtual

Compute hash for data with the current hash

Parameters
dataThe data to add
lenThe data length

Implements anch::crypto::Hash< 16, 64 >.

const std::array< uint8_t, 16 > & MD5::digest ( ) const
overridevirtual

Get the MD5 hash result

Returns
the MD5 hash result

Implements anch::crypto::Hash< 16, 64 >.

void MD5::finalize ( )
overrideprotectedvirtual

Finalize hash

Implements anch::crypto::Hash< 16, 64 >.

virtual void anch::crypto::MD5::reset ( )
inlineoverrideprotectedvirtual

Reset hash context

Implements anch::crypto::Hash< 16, 64 >.


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