本文整理汇总了C++中KviCString::bufferToBase64方法的典型用法代码示例。如果您正苦于以下问题:C++ KviCString::bufferToBase64方法的具体用法?C++ KviCString::bufferToBase64怎么用?C++ KviCString::bufferToBase64使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KviCString
的用法示例。
在下文中一共展示了KviCString::bufferToBase64方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doEncryptCBC
bool KviMircryptionEngine::doEncryptCBC(KviCString & plain, KviCString & encoded)
{
// make sure it is a multiple of 8 bytes (eventually pad with zeroes)
if(plain.len() % 8)
{
int oldL = plain.len();
plain.setLen(plain.len() + (8 - (plain.len() % 8)));
char * padB = plain.ptr() + oldL;
char * padE = plain.ptr() + plain.len();
while(padB < padE)
*padB++ = 0;
}
int ll = plain.len() + 8;
unsigned char * in = (unsigned char *)KviMemory::allocate(ll);
InitVectorEngine::fillRandomIV(in, 8);
KviMemory::copy(in + 8, plain.ptr(), plain.len());
// encrypt
unsigned char * out = (unsigned char *)KviMemory::allocate(ll);
BlowFish bf((unsigned char *)m_szEncryptKey.ptr(), m_szEncryptKey.len());
bf.ResetChain();
bf.Encrypt(in, out, ll, BlowFish::CBC);
KviMemory::free(in);
encoded.bufferToBase64((const char *)out, ll);
KviMemory::free(out);
encoded.prepend('*'); // prepend the signature
return true;
}
示例2: plainMethod
bool plainMethod(KviCString & szIn, KviCString & szOut, QByteArray & baNick, QByteArray & baPass)
{
if(szIn=="+")
{
int answerLen = 2 + (2 * baNick.size()) + baPass.size();
char * answer = (char *) KviMemory::allocate(answerLen);
char * answer2 = answer;
memcpy(answer, baNick.data(), baNick.size());
answer+=baNick.size();
memset(answer, 0, 1);
answer++;
memcpy(answer, baNick.data(), baNick.size());
answer+=baNick.size();
memset(answer, 0, 1);
answer++;
memcpy(answer, baPass.data(), baPass.size());
szOut.bufferToBase64(answer2,answerLen);
KviMemory::free(answer2);
return true;
}
return false;
}
示例3:
bool KviRijndaelBase64Engine::binaryToAscii(const char * inBuffer, int len, KviCString & outBuffer)
{
outBuffer.bufferToBase64(inBuffer, len);
return true;
}