libhasha 2.2.2
Loading...
Searching...
No Matches
hasha::encodings::hex_encoding Struct Reference

#include <evpp.h>

Inheritance diagram for hasha::encodings::hex_encoding:
Collaboration diagram for hasha::encodings::hex_encoding:

Public Member Functions

HA_INL_FUN std::string encode (digest &digest) override
HA_INL_FUN std::string encode (raw_cdigest digest, size_t size) override
HA_INL_FUN digest decode (const std::string &s) override
HA_INL_FUN void decode (const std::string &s, raw_digest digest, size_t size) override
HA_INL_FUN void decode (digest &digest, const std::string &s) override

Detailed Description

Definition at line 40 of file evpp.h.

Member Function Documentation

◆ decode() [1/3]

HA_INL_FUN digest hasha::encodings::hex_encoding::decode ( const std::string & s)
inlineoverridevirtual

Implements hasha::basic_encoding.

Definition at line 60 of file evpp.h.

61 {
62 digest digest(ha_str2hash_bound(s.length()));
63 ha_str2hash(digest.data(), s.data(), digest.size());
64 return digest;
65 }
HA_PUBFUN size_t ha_str2hash(ha_digest_t dst, const char *src, size_t len)
Converts a hexadecimal string representation to a hash digest.
#define ha_str2hash_bound(len)
Definition io.h:61
std::vector< byte > digest
Definition evpp.h:25

◆ decode() [2/3]

HA_INL_FUN void hasha::encodings::hex_encoding::decode ( const std::string & s,
raw_digest digest,
size_t size )
inlineoverridevirtual

Implements hasha::basic_encoding.

Definition at line 68 of file evpp.h.

70 {
71 ha_str2hash(digest, s.data(), size);
72 }

◆ decode() [3/3]

HA_INL_FUN void hasha::encodings::hex_encoding::decode ( digest & digest,
const std::string & s )
inlineoverridevirtual

Implements hasha::basic_encoding.

Definition at line 75 of file evpp.h.

76 {
77 digest.resize(ha_str2hash_bound(s.length()));
78 ha_str2hash(digest.data(), s.data(), digest.size());
79 }

◆ encode() [1/2]

HA_INL_FUN std::string hasha::encodings::hex_encoding::encode ( digest & digest)
inlineoverridevirtual

Implements hasha::basic_encoding.

Definition at line 44 of file evpp.h.

45 {
46 std::string str(ha_hash2str_bound(digest.size()), '\0');
47 ha_hash2str(str.data(), digest.data(), digest.size());
48 return str;
49 }
HA_PUBFUN size_t ha_hash2str(char *dst, ha_cdigest_t src, size_t len)
Converts a hash digest to a hexadecimal string representation.
#define ha_hash2str_bound(len)
Definition io.h:60

◆ encode() [2/2]

HA_INL_FUN std::string hasha::encodings::hex_encoding::encode ( raw_cdigest digest,
size_t size )
inlineoverridevirtual

Implements hasha::basic_encoding.

Definition at line 52 of file evpp.h.

53 {
54 std::string str(ha_hash2str_bound(size), '\0');
55 ha_hash2str(str.data(), digest, size);
56 return str;
57 }

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