Add unhex and string vs vector utils.

This commit is contained in:
Arthur Britto
2012-06-12 23:00:24 -07:00
parent b8e2e83fd0
commit eb6898f5ce
2 changed files with 41 additions and 0 deletions

View File

@@ -55,6 +55,42 @@ void strUnHex(std::string& strDst, const std::string& strSrc)
strDst[i] = (charUnHex(strSrc[i*2]) << 4) | charUnHex(strSrc[i*2+1]);
}
std::vector<unsigned char> strUnHex(const std::string& strSrc)
{
std::string strTmp;
strUnHex(strTmp, strSrc);
return strCopy(strTmp);
}
//
// Misc string
//
std::vector<unsigned char> strCopy(const std::string& strSrc)
{
std::vector<unsigned char> vucDst;
vucDst.resize(strSrc.size());
std::copy(strSrc.begin(), strSrc.end(), vucDst.begin());
return vucDst;
}
std::string strCopy(const std::vector<unsigned char>& vucSrc)
{
std::string strDst;
strDst.resize(vucSrc.size());
std::copy(vucSrc.begin(), vucSrc.end(), strDst.begin());
return strDst;
}
//
// DH support
//

View File

@@ -89,6 +89,11 @@ bool isZero(Iterator first, int iSize)
int charUnHex(char cDigit);
void strUnHex(std::string& strDst, const std::string& strSrc);
std::vector<unsigned char> strUnHex(const std::string& strSrc);
std::vector<unsigned char> strCopy(const std::string& strSrc);
std::string strCopy(const std::vector<unsigned char>& vucSrc);
DH* DH_der_load(const std::string& strDer);
DH* DH_der_load_hex(const std::string& strDer);
void DH_der_gen(std::string& strDer, int iKeyLength);