tlx

SHA-256 processor without external dependencies. More...

#include <sha256.hpp>

Public Member Functions

 SHA256 ()
 construct empty object. More...
 
 SHA256 (const void *data, uint32_t size)
 construct context and process data range More...
 
 SHA256 (const std::string &str)
 construct context and process string More...
 
void process (const void *data, uint32_t size)
 process more data More...
 
void process (const std::string &str)
 process more data More...
 
void finalize (void *digest)
 finalize computation and output 32 byte (256 bit) digest More...
 
std::string digest ()
 finalize computation and return 32 byte (256 bit) digest More...
 
std::string digest_hex ()
 finalize computation and return 32 byte (256 bit) digest hex encoded More...
 
std::string digest_hex_uc ()
 finalize computation and return 32 byte (256 bit) digest upper-case hex More...
 

Static Public Attributes

static constexpr size_t kDigestLength
 digest length in bytes More...
 

Private Attributes

uint64_t length_
 
uint32_t state_ [8]
 
uint32_t curlen_
 
uint8_t buf_ [64]
 

Detailed Description

SHA-256 processor without external dependencies.

Definition at line 28 of file sha256.hpp.

Constructor & Destructor Documentation

SHA256 ( )

construct empty object.

Definition at line 131 of file sha256.cpp.

SHA256 ( const void *  data,
uint32_t  size 
)

construct context and process data range

Definition at line 144 of file sha256.cpp.

SHA256 ( const std::string &  str)
explicit

construct context and process string

Definition at line 149 of file sha256.cpp.

Member Function Documentation

std::string digest ( )

finalize computation and return 32 byte (256 bit) digest

Definition at line 220 of file sha256.cpp.

std::string digest_hex ( )

finalize computation and return 32 byte (256 bit) digest hex encoded

Definition at line 226 of file sha256.cpp.

std::string digest_hex_uc ( )

finalize computation and return 32 byte (256 bit) digest upper-case hex

Definition at line 232 of file sha256.cpp.

void finalize ( void *  digest)

finalize computation and output 32 byte (256 bit) digest

Definition at line 189 of file sha256.cpp.

void process ( const void *  data,
uint32_t  size 
)

process more data

Definition at line 154 of file sha256.cpp.

void process ( const std::string &  str)

process more data

Definition at line 185 of file sha256.cpp.

Member Data Documentation

uint8_t buf_[64]
private

Definition at line 60 of file sha256.hpp.

uint32_t curlen_
private

Definition at line 59 of file sha256.hpp.

constexpr size_t kDigestLength
static

digest length in bytes

Definition at line 44 of file sha256.hpp.

uint64_t length_
private

Definition at line 57 of file sha256.hpp.

uint32_t state_[8]
private

Definition at line 58 of file sha256.hpp.


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