如题, 可加密任何文件,包括mkv,rmvb等音频文件,你懂的^V^
加密: AES 256位密钥 CBC工作模式
压缩: zlib
实测了aes,xxtea性能,aes是256位密钥CBC模式,结果如图:
测试代码:
void encrypt_speed_test(void)
{
auto buffer = fsutil::read_file_data(fileName); // 随便一个文件名,或者便分配一段buffer
const int round = 5;
const int times = 200;
cocos2d::log("test data size:%d bytes, %lfMB", buffer.size(), buffer.size() / 1024.f / 1024.0f);
for (int k = 0; k < round; ++k)
{
cocos2d::log("test round %d", k + 1);
long start = clock();
for (int i = 0; i < times; ++i)
{
std::string out = crypto::aes::encrypt(buffer); // crypto::aes::overlapped::encrypt(buffer);
}
cocos2d::log("aes encrypt %d times use %lf seconds", times, (clock() - start) / (double)CLOCKS_PER_SEC);
char cKeys] = { 'j', 't', 'u', 'm', 'u', 'q', '1', '2', 'r', '5', 'x', '\0' };
xxtea_long outlen = 0;
start = clock();
for (int i = 0; i < times; ++i)
{
auto decodeBuffer = xxtea_encrypt((unsigned char*)buffer.c_str(), buffer.length(), (unsigned char*)cKeys, 12, &outlen);
free(decodeBuffer);
}
cocos2d::log("xxtea encrypt %d times use %lf seconds\n", times, (clock() - start) / (double)CLOCKS_PER_SEC);
}
}
此帖被xseekerj在2015-04-03 21:27重新编辑 ]
图片:QQ图片20150403123511.png

删除]
同求mac的版本