Revert "Remove functions which return strings"
We need these functions for the logging_enabled branch.
This reverts commit acae4e8438
.
This commit is contained in:
parent
4a74fd9297
commit
0d041f08fe
3 changed files with 26 additions and 0 deletions
|
@ -17,6 +17,7 @@
|
|||
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
|
||||
namespace olm {
|
||||
|
||||
|
@ -26,6 +27,7 @@ static const std::size_t IV_LENGTH = 16;
|
|||
|
||||
struct Curve25519PublicKey {
|
||||
std::uint8_t public_key[KEY_LENGTH];
|
||||
std::string to_string() const;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -87,4 +87,23 @@ std::uint8_t * store_array(
|
|||
return destination + sizeof(T);
|
||||
}
|
||||
|
||||
/** convert an array of bytes to a string representation */
|
||||
template<typename T>
|
||||
std::string bytes_to_string(T start, T end) {
|
||||
std::ostringstream ss;
|
||||
ss << std::hex << std::setfill('0');
|
||||
while (start != end) {
|
||||
ss << std::setw(2) << static_cast<int>(*start++);
|
||||
if (start != end) {
|
||||
ss << ":";
|
||||
}
|
||||
}
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
std::string bytes_to_string(T start, size_t len) {
|
||||
return bytes_to_string(start, start+len);
|
||||
}
|
||||
|
||||
} // namespace olm
|
||||
|
|
|
@ -101,6 +101,11 @@ inline static void hmac_sha256_final(
|
|||
|
||||
} // namespace
|
||||
|
||||
std::string olm::Curve25519PublicKey::to_string() const {
|
||||
return olm::bytes_to_string(std::begin(public_key),
|
||||
std::end(public_key));
|
||||
};
|
||||
|
||||
void olm::curve25519_generate_key(
|
||||
std::uint8_t const * random_32_bytes,
|
||||
olm::Curve25519KeyPair & key_pair
|
||||
|
|
Loading…
Reference in a new issue