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

SHA1 hash algorithm implementation. More...

#include <sha1.hpp>

Inheritance diagram for anch::crypto::SHA1:
Collaboration diagram for anch::crypto::SHA1:

Public Member Functions

 SHA1 ()
 
template<class CharT , class Traits , class Allocator >
 SHA1 (const std::basic_string< CharT, Traits, Allocator > &data)
 
template<class CharT , class Traits >
 SHA1 (std::basic_istream< CharT, Traits > &stream)
 
virtual ~SHA1 ()
 
virtual const std::array< uint8_t, 20 > & digest () const override
 
- Public Member Functions inherited from anch::crypto::Hash< 20, 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

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

Additional Inherited Members

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

Detailed Description

SHA1 hash algorithm implementation.

This algorithm is based on Qt framework algorithm.

Author
Vincent Lachenal

Constructor & Destructor Documentation

SHA1::SHA1 ( )

SHA1 default constructor

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

SHA1 constructor with string

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

SHA1 constructor with input stream.

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

SHA1 destructor

Member Function Documentation

void SHA1::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< 20, 64 >.

const std::array< uint8_t, 20 > & SHA1::digest ( ) const
overridevirtual

Get the SHA1 hash result

Returns
the SHA1 hash result

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

void SHA1::finalize ( )
overrideprotectedvirtual

Finalize hash

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

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

Reset hash context

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


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