cocos2dx 3.5 资源文件加密
2015-07-03 13:39
567 查看
Delphi 加密工具 使用CnPack
fstream:=TMemoryStream.Create();
DestStream:=TMemoryStream.Create;
fstream.LoadFromFile(edt1.Text);
fcnstream:=TCnXorStream.Create(fstream,'123456789',false);
GetMem(buffer, fstream.Size);
fcnstream.Read(buffer^,fstream.Size);
DestStream.write(buffer^,fstream.size);
str:=StringReplace(edt1.Text,'.png','.cee',[rfReplaceAll]);
DestStream.SaveToFile(str);
ShowMessage(str);
更改代码 CCImage.cpp
if (!data.isNull())
{
//图像加密
auto bin = data.getBytes(); //unsigned char*
auto size = data.getSize();
unsigned char *buffer = (unsigned char*)malloc(sizeof(unsigned char)* (size ));
buffer = data.getBytes();
std::string r = ".cee";
const char *show;
show = strstr(_filePath.c_str(), r.c_str());//返回指向第一次出现r位置的指针,如果没找到则返回NULL。
if (show != NULL)
{
if (PASSWORD)
{
auto *cur = reinterpret_cast<char *>(bin);
int i;
//string pw = PASSWORD;
std::stringstream strValue;
strValue << PASSWORD;
char* ps = new char[50];
strValue >> ps;;
int l = strlen(ps);
for (i = 0; i < size; i++)
{
//*cur^= ps[(i % l)+1 ];
// cur++;
cur[i] ^= ps[(i % l)];
}
//for i : = 0 to Count - 1 do
//PByteArray(@Buffer) ^ [i] : = PByteArray(@Buffer) ^ [i] xor
// Byte(FXorStr[(p + i) mod l + 1]);
}
}
fstream:=TMemoryStream.Create();
DestStream:=TMemoryStream.Create;
fstream.LoadFromFile(edt1.Text);
fcnstream:=TCnXorStream.Create(fstream,'123456789',false);
GetMem(buffer, fstream.Size);
fcnstream.Read(buffer^,fstream.Size);
DestStream.write(buffer^,fstream.size);
str:=StringReplace(edt1.Text,'.png','.cee',[rfReplaceAll]);
DestStream.SaveToFile(str);
ShowMessage(str);
更改代码 CCImage.cpp
if (!data.isNull())
{
//图像加密
auto bin = data.getBytes(); //unsigned char*
auto size = data.getSize();
unsigned char *buffer = (unsigned char*)malloc(sizeof(unsigned char)* (size ));
buffer = data.getBytes();
std::string r = ".cee";
const char *show;
show = strstr(_filePath.c_str(), r.c_str());//返回指向第一次出现r位置的指针,如果没找到则返回NULL。
if (show != NULL)
{
if (PASSWORD)
{
auto *cur = reinterpret_cast<char *>(bin);
int i;
//string pw = PASSWORD;
std::stringstream strValue;
strValue << PASSWORD;
char* ps = new char[50];
strValue >> ps;;
int l = strlen(ps);
for (i = 0; i < size; i++)
{
//*cur^= ps[(i % l)+1 ];
// cur++;
cur[i] ^= ps[(i % l)];
}
//for i : = 0 to Count - 1 do
//PByteArray(@Buffer) ^ [i] : = PByteArray(@Buffer) ^ [i] xor
// Byte(FXorStr[(p + i) mod l + 1]);
}
}
相关文章推荐
- quick-cocos2dx 3.3 c++绑定到Lua
- cocos2dx3.6 实现带光标的输入框(二);光标可移动
- Cocos2d-x-3.6学习(二)----全平台配置
- cocos2d-x v3.3开发环境配置
- cocos2d-x v3.3开发环境配置
- 14.2Cocos2d-x 中的粒子系统(笔记);14.2.1 ParticleBatchNode;
- cocos2d-x3.2 scrollView
- cocos2dx对于强大的RichText控制
- 在cocos2d-x中实现真随机数
- Cocos2D-x工程目录介绍
- cocos2d-x2.2.5 + cocos2d-x3.2鸟跳便宜源代码“开源”
- cocos2d 0.99 与cocos2d v2.1 restoreOriginalFrame 播放动画使用重置默认桢的区别
- 【转载】cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
- cocos2d-x坐标系
- cocos2d-x开发 - mac环境搭建
- cocos js 发布
- cocos2dx 程序 在 android 平台下的 启动顺序
- cocos2d-x 3.3 之卡牌设计 NO.6 Loading界面(异步加载图片,plist)
- Cocos2d-JS 热更新的策略
- Cocos2d-x 学习笔记–Cocos Studio UI加载