mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 04:52:59 +01:00
Demystify a few magic numbers.
This commit is contained in:
parent
352b4ea5b9
commit
a9d3af8821
@ -38,6 +38,8 @@ inline std::string EncodeBase58(const unsigned char* pbegin, const unsigned char
|
|||||||
|
|
||||||
// Convert bignum to std::string
|
// Convert bignum to std::string
|
||||||
std::string str;
|
std::string str;
|
||||||
|
// Expected size increase from base58 conversion is approximately 137%
|
||||||
|
// use 138% to be safe
|
||||||
str.reserve((pend - pbegin) * 138 / 100 + 1);
|
str.reserve((pend - pbegin) * 138 / 100 + 1);
|
||||||
CBigNum dv;
|
CBigNum dv;
|
||||||
CBigNum rem;
|
CBigNum rem;
|
||||||
|
@ -228,10 +228,13 @@ public:
|
|||||||
{
|
{
|
||||||
std::vector<unsigned char> vch2(vch.size() + 4);
|
std::vector<unsigned char> vch2(vch.size() + 4);
|
||||||
unsigned int nSize = vch.size();
|
unsigned int nSize = vch.size();
|
||||||
|
// BIGNUM's byte stream format expects 4 bytes of
|
||||||
|
// big endian size data info at the front
|
||||||
vch2[0] = (nSize >> 24) & 0xff;
|
vch2[0] = (nSize >> 24) & 0xff;
|
||||||
vch2[1] = (nSize >> 16) & 0xff;
|
vch2[1] = (nSize >> 16) & 0xff;
|
||||||
vch2[2] = (nSize >> 8) & 0xff;
|
vch2[2] = (nSize >> 8) & 0xff;
|
||||||
vch2[3] = (nSize >> 0) & 0xff;
|
vch2[3] = (nSize >> 0) & 0xff;
|
||||||
|
// swap data to big endian
|
||||||
reverse_copy(vch.begin(), vch.end(), vch2.begin() + 4);
|
reverse_copy(vch.begin(), vch.end(), vch2.begin() + 4);
|
||||||
BN_mpi2bn(&vch2[0], vch2.size(), this);
|
BN_mpi2bn(&vch2[0], vch2.size(), this);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user