Changeset View
Changeset View
Standalone View
Standalone View
src/key_io.cpp
Show First 20 Lines • Show All 86 Lines • ▼ Show 20 Lines | if (DecodeBase58Check(str, data)) { | ||||
(data.size() == 33 + privkey_prefix.size() && data.back() == 1)) && | (data.size() == 33 + privkey_prefix.size() && data.back() == 1)) && | ||||
std::equal(privkey_prefix.begin(), privkey_prefix.end(), | std::equal(privkey_prefix.begin(), privkey_prefix.end(), | ||||
data.begin())) { | data.begin())) { | ||||
bool compressed = data.size() == 33 + privkey_prefix.size(); | bool compressed = data.size() == 33 + privkey_prefix.size(); | ||||
key.Set(data.begin() + privkey_prefix.size(), | key.Set(data.begin() + privkey_prefix.size(), | ||||
data.begin() + privkey_prefix.size() + 32, compressed); | data.begin() + privkey_prefix.size() + 32, compressed); | ||||
} | } | ||||
} | } | ||||
if (!data.empty()) { | |||||
memory_cleanse(data.data(), data.size()); | memory_cleanse(data.data(), data.size()); | ||||
} | |||||
return key; | return key; | ||||
} | } | ||||
std::string EncodeSecret(const CKey &key) { | std::string EncodeSecret(const CKey &key) { | ||||
assert(key.IsValid()); | assert(key.IsValid()); | ||||
std::vector<uint8_t> data = Params().Base58Prefix(CChainParams::SECRET_KEY); | std::vector<uint8_t> data = Params().Base58Prefix(CChainParams::SECRET_KEY); | ||||
data.insert(data.end(), key.begin(), key.end()); | data.insert(data.end(), key.begin(), key.end()); | ||||
if (key.IsCompressed()) { | if (key.IsCompressed()) { | ||||
▲ Show 20 Lines • Show All 86 Lines • Show Last 20 Lines |