位置: 编程技术 - 正文

cocos2dx 使用 crypto++(cocos2d解密)

编辑:rootadmin
在ios上使用加密解密,crypto&#;&#;是一个好选择,配置过程如下:我在github上找到了CryptoPP-for-iOS,地址: #include "zlib.h"改成 #include <zlib.h> 编译通过。在android工程上编译流程大同小异,在jni/Android.mk 中增加CPPFLAGS &#;= -DCRYPTOPP_DISABLE_ASM-DCRYPTOPP_DISABLE_SSE2在jni/Application.mk 中增加APP_STL := gnustl_staticAPP_CPPFLAGS := -frtti -fexceptions编译通过。写了个使用RC2算法编解码的程序测试一下:cRC2Test.h

推荐整理分享cocos2dx 使用 crypto++(cocos2d解密),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2d怎么用,cocos2d schedule,cocos2d解密,cocos2d怎么用,cocos2dx 使用什么语言写脚本,cocos2dx 使用canvas,cocos2dx 使用语言,cocos2dx 使用curl,内容如对您有帮助,希望把文章链接给更多的朋友!

#include "rc2.h"

using namespace CryptoPP;

//RC2加密解密类

class cRC2Test

{

public:

//设置key

static void setKey(const unsigned char* pKey);

//加密

static std::string encode(conststd::string& rStr);

//解密

static std::string decode(conststd::string& rStr);

private:

//加密RC2块

static void encodeBlock(unsignedchar* pData, unsignedchar* pOut);

//解密RC2块

static void decodeBlock(unsignedchar* pData, unsignedchar* pOut);

private:

//RC2 key

staticunsigned charsm_cKey[RC2::DEFAULT_KEYLENGTH];

//RC2加密类

static RC2Encryption sm_rcEncr;

//RC2解密类

static RC2Decryption sm_rcDecr;

};

cRC2Test.cpp

#include<vector>

#include<string>

using namespacestd;

//静态变量定义

unsigned char cRC2Test::sm_cKey[RC2::DEFAULT_KEYLENGTH] = {0,};

RC2EncryptioncRC2Test::sm_rcEncr;

RC2DecryptioncRC2Test::sm_rcDecr;

void cRC2Test::setKey(const unsigned char* pKey)

{

memset(sm_cKey,0,sizeof(sm_cKey));

//保存key

memcpy(sm_cKey,pKey, RC2::DEFAULT_KEYLENGTH);

//对加密器与解密器设置key&#;

sm_rcEncr.SetKey(sm_cKey, RC2::DEFAULT_KEYLENGTH);

sm_rcDecr.SetKey(sm_cKey, RC2::DEFAULT_KEYLENGTH);

}

std::stringcRC2Test::encode(conststd::string& rStr)

{

size_t strIndex =0;

size_t strLen =rStr.size();

//保存加密后的数据

vector<unsignedchar> vBuffer;

//保存加密后的临时数据块

cocos2dx 使用 crypto++(cocos2d解密)

unsigned char rcBlock[RC2::BLOCKSIZE];

unsigned char *ptr = (unsigned char*)rStr.c_str();

//遍历字符串

while(strIndex <strLen) {

memset(rcBlock,0, RC2::BLOCKSIZE);

//加密一块数据

encodeBlock(&ptr[strIndex],rcBlock);

//保存加密结果

vBuffer.insert(vBuffer.end(), rcBlock, rcBlock&#;RC2::BLOCKSIZE);

strIndex &#;= RC2::BLOCKSIZE;

}

return string(vBuffer.begin(), vBuffer.end());

}

std::stringcRC2Test::decode(conststd::string& rStr)

{

size_t strIndex =0;

size_t strLen =rStr.size();

//保存解密后的数据

vector<unsignedchar> vBuffer;

//保存解密后的临时数据块

unsigned char rcOut[];

unsigned char *ptr = (unsigned char*)rStr.c_str();

//遍历字符串

while(strIndex <strLen) {

memset(rcOut,0, sizeof(rcOut));

//解密一块数据

decodeBlock(&ptr[strIndex],rcOut);

//保存解密结果

vBuffer.insert(vBuffer.end(), rcOut, rcOut&#;strlen((char*)rcOut));

strIndex &#;= RC2::BLOCKSIZE;

}

return string(vBuffer.begin(), vBuffer.end());

}

voidcRC2Test::encodeBlock(unsignedchar* pData, unsignedchar* pOut)

{

sm_rcEncr.ProcessBlock(pData, pOut);

}

voidcRC2Test::decodeBlock(unsignedchar* pData, unsignedchar* pOut)

{

sm_rcDecr.ProcessBlock(pData, pOut);

}

测试代码:main.cpp

unsigned char pkey[RC2::DEFAULT_KEYLENGTH];

stringtestData = "测试";

cRC2Test::setKey(pkey);

stringsEncode = cRC2Test::encode(testData);

cout<<cRC2Test::decode(sEncode);

在ios与android上测试通过。

版权声明:本文为博主原创文章,未经博主允许不得转载。

cocos2dx AudioEngine初体验,音效播放结束判断测试 由于simpleAudioEngine在播放音效时无法获取状态也无法在播放完成后回调,造成音效在按键频繁时发声重叠。改mac版本的库对目前的我来说挑战难度太大。

Cocos2d-3.x_在Lua中使用cjson库解析json prename=codeclass=cppboolAppDelegate::applicationDidFinishLaunching(){autoengine=LuaEngine::getInstance();//注册cjsonLuaStack*stack=engine-getLuaStack();luaopen_lua_extensions_cjson(stack-getLuaStat

实现了个类似blood brothers中的转轴特效 最近比较忙,有一段时间没写东西了,今天算是忙里偷闲,分享点东西。在美区有个游戏叫bloodbrothers,玩了玩,感觉还不错,其中有一个页面,可以选

标签: cocos2d解密

本文链接地址:https://www.jiuchutong.com/biancheng/368362.html 转载请保留说明!

上一篇:quick-cocos2d-x如何在mac下编译安卓版本

下一篇:cocos2dx AudioEngine初体验,音效播放结束判断测试

  • 小规模季度不超过30万是含税还是不含税
  • 购销合同中约定产品质量问题引起的问题
  • 工业企业提供劳务收入属于什么收入
  • 企业所得税弥补亏损明细表怎么填写
  • 在建工程的范围
  • 进口消费税为什么一定要组价
  • 小微企业一般要交什么费用2019
  • 个税填报后怎么撤销申报
  • 出纳个人账户转公户
  • 客运地方税务局监制发票还能用吗?
  • 签章是签字还是盖章z还是手印
  • 小规模纳税人转一般纳税人
  • 资产减值准备会计科目编码
  • 填制凭证的内容通常包括
  • 税收滞纳金什么意思
  • 实收资本未实缴到位,是否缴纳印花税
  • 跨地区经营怎么交税
  • 电子票据查询打印
  • 到银行开公司账户需要多少手续费
  • 金蝶采购发票怎么红冲
  • 酒店水电费分录
  • 小型微利企业应纳税所得额300万
  • win11系统进程
  • 已签收的电子银行承兑汇票截图给别人有风险吗
  • window10的帮助与支持窗口在哪
  • 健康检查查询系统
  • 王者荣耀英雄印花衣服哪里批发
  • linux查关键字
  • php中字符串函数
  • PHP:ftp_nb_get()的用法_FTP函数
  • linux必不可少的分区
  • 一般纳税人收到小规模专票怎么抵扣
  • 基于stm32的小游戏
  • 使用服务器
  • tomcat的安装配置
  • 新企业所得税实施细则
  • 资产处置损益怎么结转到本年利润
  • 上一年的进项税转出还用交企业所得税吗
  • 工程提成会计分录怎么做
  • 可以单独设置一个人三天可见吗
  • 培训公司收取培训费用合法吗
  • 弥补亏损怎么做分录
  • 税法税前扣除
  • 医院销售药品是否缴纳增值税
  • 建筑工程公司的经营范围有哪些
  • 付款凭证怎么写样本
  • 正常存货周转率多少次合适
  • 福利费与工会经费使用区别
  • 公司购买电缆线用于修缮厂房
  • 哪些工资属于社会福利
  • 安装windows server 2008 r2
  • docker 自启动
  • solaris安装软件包
  • windows xp如何进入dos
  • windows开机显示正在清理
  • Win10 Mobile 10572快速配置更新推送 Win10 Mobile 10572升级体验
  • centos7ssh登录
  • centos7视频教程
  • make:arm-linux- conmand not found错误处理探讨
  • win8创建我的电脑
  • Win10系统安装步骤
  • json解析 java
  • vue+vue-validator 表单验证功能的实现代码
  • 以下关于js函数说法错误的是
  • node.js介绍
  • unity每秒执行一次
  • centos6.7安装问题
  • Unity3D游戏开发毕业论文
  • 简述javascript
  • 农村集体土地承包法
  • 重大税务违法案件一案双查标准
  • 苏州税务ukey客服电话
  • 宁夏地税局局长
  • 贵州网上税务大厅官网
  • 公司自有房产出租缴税
  • 审计验资费计入什么科目
  • 深圳市福田区行政代码是多少
  • 车船使用税减免法律规定
  • 青岛市医保网上办事大厅
  • 企业税收有哪些税种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设