[BW]: [NIP] Added public_key::to_base58 text conversion to simplify contact display_name generation at bts side.
This commit is contained in:
parent
ecba7c5076
commit
163be8a6d0
2 changed files with 20 additions and 1 deletions
|
|
@ -57,6 +57,10 @@ namespace fc {
|
||||||
{
|
{
|
||||||
return a.serialize() != b.serialize();
|
return a.serialize() != b.serialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Allows to convert current public key object into base58 number.
|
||||||
|
std::string to_base58() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class private_key;
|
friend class private_key;
|
||||||
fc::fwd<detail::public_key_impl,8> my;
|
fc::fwd<detail::public_key_impl,8> my;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
#include <fc/crypto/elliptic.hpp>
|
#include <fc/crypto/elliptic.hpp>
|
||||||
|
|
||||||
|
#include <fc/crypto/base58.hpp>
|
||||||
|
#include <fc/crypto/openssl.hpp>
|
||||||
|
|
||||||
#include <fc/fwd_impl.hpp>
|
#include <fc/fwd_impl.hpp>
|
||||||
#include <fc/exception/exception.hpp>
|
#include <fc/exception/exception.hpp>
|
||||||
#include <fc/log/logger.hpp>
|
#include <fc/log/logger.hpp>
|
||||||
#include <fc/crypto/openssl.hpp>
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
namespace fc { namespace ecc {
|
namespace fc { namespace ecc {
|
||||||
|
|
@ -257,6 +261,17 @@ namespace fc { namespace ecc {
|
||||||
} FC_RETHROW_EXCEPTIONS( debug, "digest: ${digest}", ("digest",digest) );
|
} FC_RETHROW_EXCEPTIONS( debug, "digest: ${digest}", ("digest",digest) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string public_key::to_base58() const
|
||||||
|
{
|
||||||
|
public_key_data key = serialize();
|
||||||
|
uint32_t check = uint32_t(city_hash64(key.data, sizeof(key)));
|
||||||
|
assert(key.size() + sizeof(check) == 37);
|
||||||
|
array<char, 37> data;
|
||||||
|
memcpy(data.data, key.begin(), key.size());
|
||||||
|
memcpy(data.begin() + key.size(), (const char*)&check, sizeof(check));
|
||||||
|
return fc::to_base58(data.begin(), data.size());
|
||||||
|
}
|
||||||
|
|
||||||
private_key::private_key()
|
private_key::private_key()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue