join 1.0
lightweight network framework library
Loading...
Searching...
No Matches
join::Digest Class Reference

digest stream. More...

#include <digest.hpp>

Inheritance diagram for join::Digest:
Collaboration diagram for join::Digest:

Public Types

enum  Algorithm {
  MD5 = 1 , SHA1 , SHA224 , SHA256 ,
  SHA384 , SHA512 , SM3
}
 algorithm. More...
 

Public Member Functions

 Digest (Algorithm algo)
 default constructor.
 
 Digest (const Digest &other)=delete
 copy constructor.
 
Digestoperator= (const Digest &other)=delete
 copy assignment operator.
 
 Digest (Digest &&other)
 move constructor.
 
Digestoperator= (Digest &&other)
 move assignment operator.
 
virtual ~Digest ()=default
 destroy digest stream instance.
 
BytesArray finalize ()
 get message digest.
 

Static Public Member Functions

static BytesArray md5bin (const char *data, std::streamsize size)
 get MD5 message digest.
 
static BytesArray md5bin (const BytesArray &data)
 get MD5 message digest.
 
static BytesArray md5bin (const std::string &data)
 get MD5 message digest.
 
static std::string md5hex (const char *data, std::streamsize size)
 get MD5 message digest.
 
static std::string md5hex (const BytesArray &data)
 get MD5 message digest.
 
static std::string md5hex (const std::string &data)
 get MD5 message digest.
 
static BytesArray sha1bin (const char *data, std::streamsize size)
 get SHA1 message digest.
 
static BytesArray sha1bin (const BytesArray &data)
 get SHA1 message digest.
 
static BytesArray sha1bin (const std::string &data)
 get SHA1 message digest.
 
static std::string sha1hex (const char *data, std::streamsize size)
 get SHA1 message digest.
 
static std::string sha1hex (const BytesArray &data)
 get SHA1 message digest.
 
static std::string sha1hex (const std::string &data)
 get SHA1 message digest.
 
static BytesArray sha224bin (const char *data, std::streamsize size)
 get SHA224 message digest.
 
static BytesArray sha224bin (const BytesArray &data)
 get SHA224 message digest.
 
static BytesArray sha224bin (const std::string &data)
 get SHA224 message digest.
 
static std::string sha224hex (const char *data, std::streamsize size)
 get SHA224 message digest.
 
static std::string sha224hex (const BytesArray &data)
 get SHA224 message digest.
 
static std::string sha224hex (const std::string &data)
 get SHA224 message digest.
 
static BytesArray sha256bin (const char *data, std::streamsize size)
 get SHA256 message digest.
 
static BytesArray sha256bin (const BytesArray &data)
 get SHA256 message digest.
 
static BytesArray sha256bin (const std::string &data)
 get SHA256 message digest.
 
static std::string sha256hex (const char *data, std::streamsize size)
 get SHA256 message digest.
 
static std::string sha256hex (const BytesArray &data)
 get SHA256 message digest.
 
static std::string sha256hex (const std::string &data)
 get SHA256 message digest.
 
static BytesArray sha384bin (const char *data, std::streamsize size)
 get SHA384 message digest.
 
static BytesArray sha384bin (const BytesArray &data)
 get SHA384 message digest.
 
static BytesArray sha384bin (const std::string &data)
 get SHA384 message digest.
 
static std::string sha384hex (const char *data, std::streamsize size)
 get SHA384 message digest.
 
static std::string sha384hex (const BytesArray &data)
 get SHA384 message digest.
 
static std::string sha384hex (const std::string &data)
 get SHA384 message digest.
 
static BytesArray sha512bin (const char *data, std::streamsize size)
 get SHA512 message digest.
 
static BytesArray sha512bin (const BytesArray &data)
 get SHA512 message digest.
 
static BytesArray sha512bin (const std::string &data)
 get SHA512 message digest.
 
static std::string sha512hex (const char *data, std::streamsize size)
 get SHA512 message digest.
 
static std::string sha512hex (const BytesArray &data)
 get SHA512 message digest.
 
static std::string sha512hex (const std::string &data)
 get SHA512 message digest.
 
static BytesArray sm3bin (const char *data, std::streamsize size)
 get SM3 message digest.
 
static BytesArray sm3bin (const BytesArray &data)
 get SM3 message digest.
 
static BytesArray sm3bin (const std::string &data)
 get SM3 message digest.
 
static std::string sm3hex (const char *data, std::streamsize size)
 get SM3 message digest.
 
static std::string sm3hex (const BytesArray &data)
 get SM3 message digest.
 
static std::string sm3hex (const std::string &data)
 get SM3 message digest.
 

Static Protected Member Functions

static const char * algorithm (Algorithm algo)
 get algorithm name.
 

Protected Attributes

Digestbuf _digestbuf
 associated digest stream buffer.
 

Friends

class Signature
 friendship with signature.
 
class Hmac
 friendship with HMAC.
 

Detailed Description

digest stream.

Member Enumeration Documentation

◆ Algorithm

algorithm.

Enumerator
MD5 

message digest 5

SHA1 

secure hash algorithm v1

SHA224 

secure hash algorithm v2 with a 224 bits digest

SHA256 

secure hash algorithm v2 with a 256 bits digest

SHA384 

secure hash algorithm v2 with a 384 bits digest

SHA512 

secure hash algorithm v2 with a 512 bits digest

SM3 

ShangMi 3

Constructor & Destructor Documentation

◆ Digest() [1/3]

Digest::Digest ( Algorithm algo)

default constructor.

Parameters
algothe message digest used.

◆ Digest() [2/3]

join::Digest::Digest ( const Digest & other)
delete

copy constructor.

Parameters
otherother object to copy.

◆ Digest() [3/3]

Digest::Digest ( Digest && other)

move constructor.

Parameters
otherother object to move.

◆ ~Digest()

virtual join::Digest::~Digest ( )
virtualdefault

destroy digest stream instance.

Member Function Documentation

◆ algorithm()

const char * Digest::algorithm ( Algorithm algo)
staticprotected

get algorithm name.

Parameters
algodigest algorithm.
Returns
algorithm name.

◆ finalize()

BytesArray Digest::finalize ( )

get message digest.

Returns
message digest.

◆ md5bin() [1/3]

BytesArray Digest::md5bin ( const BytesArray & data)
static

get MD5 message digest.

Parameters
datadata to hash.
Returns
MD5 message digest.

◆ md5bin() [2/3]

BytesArray Digest::md5bin ( const char * data,
std::streamsize size )
static

get MD5 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
MD5 message digest.

◆ md5bin() [3/3]

BytesArray Digest::md5bin ( const std::string & data)
static

get MD5 message digest.

Parameters
datadata to hash.
Returns
MD5 message digest.

◆ md5hex() [1/3]

std::string Digest::md5hex ( const BytesArray & data)
static

get MD5 message digest.

Parameters
datadata to hash.
Returns
MD5 message digest.

◆ md5hex() [2/3]

std::string Digest::md5hex ( const char * data,
std::streamsize size )
static

get MD5 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
MD5 message digest.

◆ md5hex() [3/3]

std::string Digest::md5hex ( const std::string & data)
static

get MD5 message digest.

Parameters
datadata to hash.
Returns
MD5 message digest.

◆ operator=() [1/2]

Digest & join::Digest::operator= ( const Digest & other)
delete

copy assignment operator.

Parameters
otherother object to assign.
Returns
current object.

◆ operator=() [2/2]

Digest & Digest::operator= ( Digest && other)

move assignment operator.

Parameters
otherother object to assign.
Returns
current object.

◆ sha1bin() [1/3]

BytesArray Digest::sha1bin ( const BytesArray & data)
static

get SHA1 message digest.

Parameters
datadata to hash.
Returns
SHA1 message digest.

◆ sha1bin() [2/3]

BytesArray Digest::sha1bin ( const char * data,
std::streamsize size )
static

get SHA1 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA1 message digest.

◆ sha1bin() [3/3]

BytesArray Digest::sha1bin ( const std::string & data)
static

get SHA1 message digest.

Parameters
datadata to hash.
Returns
SHA1 message digest.

◆ sha1hex() [1/3]

std::string Digest::sha1hex ( const BytesArray & data)
static

get SHA1 message digest.

Parameters
datadata to hash.
Returns
SHA1 message digest.

◆ sha1hex() [2/3]

std::string Digest::sha1hex ( const char * data,
std::streamsize size )
static

get SHA1 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA1 message digest.

◆ sha1hex() [3/3]

std::string Digest::sha1hex ( const std::string & data)
static

get SHA1 message digest.

Parameters
datadata to hash.
Returns
SSHA1 message digest.

◆ sha224bin() [1/3]

BytesArray Digest::sha224bin ( const BytesArray & data)
static

get SHA224 message digest.

Parameters
datadata to hash.
Returns
SHA224 message digest.

◆ sha224bin() [2/3]

BytesArray Digest::sha224bin ( const char * data,
std::streamsize size )
static

get SHA224 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA224 message digest.

◆ sha224bin() [3/3]

BytesArray Digest::sha224bin ( const std::string & data)
static

get SHA224 message digest.

Parameters
datadata to hash.
Returns
SHA224 message digest.

◆ sha224hex() [1/3]

std::string Digest::sha224hex ( const BytesArray & data)
static

get SHA224 message digest.

Parameters
datadata to hash.
Returns
SHA224 message digest.

◆ sha224hex() [2/3]

std::string Digest::sha224hex ( const char * data,
std::streamsize size )
static

get SHA224 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA224 message digest.

◆ sha224hex() [3/3]

std::string Digest::sha224hex ( const std::string & data)
static

get SHA224 message digest.

Parameters
datadata to hash.
Returns
SSHA224 message digest.

◆ sha256bin() [1/3]

BytesArray Digest::sha256bin ( const BytesArray & data)
static

get SHA256 message digest.

Parameters
datadata to hash.
Returns
SHA256 message digest.

◆ sha256bin() [2/3]

BytesArray Digest::sha256bin ( const char * data,
std::streamsize size )
static

get SHA256 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA256 message digest.

◆ sha256bin() [3/3]

BytesArray Digest::sha256bin ( const std::string & data)
static

get SHA256 message digest.

Parameters
datadata to hash.
Returns
SHA256 message digest.

◆ sha256hex() [1/3]

std::string Digest::sha256hex ( const BytesArray & data)
static

get SHA256 message digest.

Parameters
datadata to hash.
Returns
SHA256 message digest.

◆ sha256hex() [2/3]

std::string Digest::sha256hex ( const char * data,
std::streamsize size )
static

get SHA256 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA256 message digest.

◆ sha256hex() [3/3]

std::string Digest::sha256hex ( const std::string & data)
static

get SHA256 message digest.

Parameters
datadata to hash.
Returns
SSHA256 message digest.

◆ sha384bin() [1/3]

BytesArray Digest::sha384bin ( const BytesArray & data)
static

get SHA384 message digest.

Parameters
datadata to hash.
Returns
SHA384 message digest.

◆ sha384bin() [2/3]

BytesArray Digest::sha384bin ( const char * data,
std::streamsize size )
static

get SHA384 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA384 message digest.

◆ sha384bin() [3/3]

BytesArray Digest::sha384bin ( const std::string & data)
static

get SHA384 message digest.

Parameters
datadata to hash.
Returns
SHA384 message digest.

◆ sha384hex() [1/3]

std::string Digest::sha384hex ( const BytesArray & data)
static

get SHA384 message digest.

Parameters
datadata to hash.
Returns
SHA384 message digest.

◆ sha384hex() [2/3]

std::string Digest::sha384hex ( const char * data,
std::streamsize size )
static

get SHA384 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA384 message digest.

◆ sha384hex() [3/3]

std::string Digest::sha384hex ( const std::string & data)
static

get SHA384 message digest.

Parameters
datadata to hash.
Returns
SSHA384 message digest.

◆ sha512bin() [1/3]

BytesArray Digest::sha512bin ( const BytesArray & data)
static

get SHA512 message digest.

Parameters
datadata to hash.
Returns
SHA512 message digest.

◆ sha512bin() [2/3]

BytesArray Digest::sha512bin ( const char * data,
std::streamsize size )
static

get SHA512 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA512 message digest.

◆ sha512bin() [3/3]

BytesArray Digest::sha512bin ( const std::string & data)
static

get SHA512 message digest.

Parameters
datadata to hash.
Returns
SHA512 message digest.

◆ sha512hex() [1/3]

std::string Digest::sha512hex ( const BytesArray & data)
static

get SHA512 message digest.

Parameters
datadata to hash.
Returns
SHA512 message digest.

◆ sha512hex() [2/3]

std::string Digest::sha512hex ( const char * data,
std::streamsize size )
static

get SHA512 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SHA512 message digest.

◆ sha512hex() [3/3]

std::string Digest::sha512hex ( const std::string & data)
static

get SHA512 message digest.

Parameters
datadata to hash.
Returns
SSHA512 message digest.

◆ sm3bin() [1/3]

BytesArray Digest::sm3bin ( const BytesArray & data)
static

get SM3 message digest.

Parameters
datadata to hash.
Returns
SM3 message digest.

◆ sm3bin() [2/3]

BytesArray Digest::sm3bin ( const char * data,
std::streamsize size )
static

get SM3 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SM3 message digest.

◆ sm3bin() [3/3]

BytesArray Digest::sm3bin ( const std::string & data)
static

get SM3 message digest.

Parameters
datadata to hash.
Returns
SM3 message digest.

◆ sm3hex() [1/3]

std::string Digest::sm3hex ( const BytesArray & data)
static

get SM3 message digest.

Parameters
datadata to hash.
Returns
SM3 message digest.

◆ sm3hex() [2/3]

std::string Digest::sm3hex ( const char * data,
std::streamsize size )
static

get SM3 message digest.

Parameters
datadata to hash.
sizedata size.
Returns
SM3 message digest.

◆ sm3hex() [3/3]

std::string Digest::sm3hex ( const std::string & data)
static

get SM3 message digest.

Parameters
datadata to hash.
Returns
SM3 message digest.

Friends And Related Symbol Documentation

◆ Hmac

friend class Hmac
friend

friendship with HMAC.

◆ Signature

friend class Signature
friend

friendship with signature.

Member Data Documentation

◆ _digestbuf

Digestbuf join::Digest::_digestbuf
protected

associated digest stream buffer.


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