Exemplo n.º 1
0
const std::string LLSavedLoginEntry::decryptPassword(const LLSD& pwdata)
{
	std::string pw = "";

	if (pwdata.isBinary() && pwdata.asBinary().size() == PASSWORD_HASH_LENGTH+1)
	{
		LLSD::Binary buffer = pwdata.asBinary();

		LLXORCipher cipher(gMACAddress, 6);
		cipher.decrypt(&buffer[0], PASSWORD_HASH_LENGTH);

		buffer[PASSWORD_HASH_LENGTH] = '\0';
		if (LLStringOps::isHexString(std::string(reinterpret_cast<const char*>(&buffer[0]), PASSWORD_HASH_LENGTH)))
		{
			pw.assign(reinterpret_cast<char*>(&buffer[0]));
		}
	}

	return pw;
}
Exemplo n.º 2
0
LLMaterialID::LLMaterialID(const LLSD& pMaterialID)
{
	llassert(pMaterialID.isBinary());
	parseFromBinary(pMaterialID.asBinary());
}