图片加密使用xxtea来加密,加密秘钥自己定,思路就是自己使用代码首先将图片加密,在程序中使用的时候,在加载图片资源处再将资源解密
加密代码如下:
首先要加载头文件
2、将图片加密
bool jiamiImg(string inputFileName,string outFileName)
{
string fileName=FileUtils::getInstance()->fullPathForFilename(inputFileName);
if(fileName.empty())
{
return false;
}
Data fileData=FileUtils::getInstance()->getDataFromFile(fileName);
xxtea_long ret_len;
unsigned char key[100]="lyctianya";
unsigned char* ret_data= xxtea_encrypt(fileData.getBytes(), (xxtea_long)fileData.getSize(),key, (xxtea_long)strlen("lyctianya"), &ret_len);
if (ret_data==NULL) {
return false;
}
FILE*fp=fopen(outFileName.c_str(), "wb+");
if (fp==NULL) {
return false;
}
fwrite(ret_data, ret_len, 1, fp);
fflush(fp);
fclose(fp);
CC_SAFE_DELETE(ret_data);
return true;
}3.加密部分
/*************jiami************/
/*
std::string outFileName="/Users/liyongchuang/Desktop/cocosTool/code/myLuaTest/res/jiamiStar.png";
bool jiamiRet=jiamiImg("Star.png",outFileName.c_str());
if (jiamiRet) {
printf("-----success-----\n");
}
else
{
pr

本文介绍了如何使用xxtea算法对Cocos2dx项目中的图片资源进行加密。通过在代码中加密图片,然后在加载时解密,确保资源的安全。文章提供了加密和解密的代码示例,并提醒注意资源释放的问题。

3922

被折叠的 条评论
为什么被折叠?



