当前位置: 首页>>代码示例>>C++>>正文


C++ KviCString::bufferToBase64方法代码示例

本文整理汇总了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;
}
开发者ID:CardinalSins,项目名称:KVIrc,代码行数:34,代码来源:libkvirijndael.cpp

示例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;
	}
开发者ID:DINKIN,项目名称:KVIrc,代码行数:27,代码来源:KviSASL.cpp

示例3:

bool KviRijndaelBase64Engine::binaryToAscii(const char * inBuffer, int len, KviCString & outBuffer)
{
	outBuffer.bufferToBase64(inBuffer, len);
	return true;
}
开发者ID:CardinalSins,项目名称:KVIrc,代码行数:5,代码来源:libkvirijndael.cpp


注:本文中的KviCString::bufferToBase64方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。