话不多说,直接开始:

准备的工具:

链接:https://pan.baidu.com/s/1Om4kBNWcG2jL_RTsHqqzpQ
提取码:bv7i

npkCreate.exe是加密图片的工具,libnpk.rar是使用代码

解压libnpk.rar添加到你的工程中

注意:要将libnpk/include添加进附加包含目录

打开NPKHelper.cpp,其中challenge是加密后的图片资源的名字(加密后变成一个文件),g_npkKeyAry是你的加密解密用到的密码(自定义)

接下来准备图片加密

 将需要加密的图片(不管是碎图还是合图)与npkCreate.exe放入到同一个文件夹,如图:

备注:为什么我的图片全是png,因为效率呀,如果是jpg格式的话,cocos还是会给你转换到png加载到缓存,图片多的话严重影响帧率,加载会很卡

打开控制台,输入命令:

创建加密后的资源(那串数字是你之前设置的密码,challenge是你定义的资源名字,后缀可选,任意名字任意后缀或者无后缀,起一个伪装作用):

npkCreate.exe challenge -create --k :::

将所有图片装入你的加密资源:

npkCreate.exe challenge -add *.png --k 7532:1457:1212:1210

完成后的文件:,放入到你的资源目录Resources

创建一个空图片(尺寸尽量小)伪装你的资源(没有的话让美术给你出一个,或者自己用ps创建一个),你原来图片名字叫什么,伪装图片就叫什么:

接下来将图片加入缓存就可以使用了

//加密图片加入到缓存
NPKHelper::AddImage("UI/bg6.png"); //缓存图片(合图)也可以加密
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("UI/bgPlist.plist", "UI/bg6.png");

------------------------------------------------------------------------------------------------------------------------

你可以从加密包里面取出你的原图:

npkCreate.exe challenge -export *.png --k :::

这样加密别人解压你的包的时候看到你的图片,根本不知道是什么,只能看到空图片,哈哈

cocos2dx图片加密解密(npk方式)的更多相关文章

  1. c# 图片加密解密的实例代码

    c# 图片加密解密的实例代码. 代码: using System; using System.Collections.Generic; using System.Text; using System. ...

  2. php实现图片加密解密,支持加盐

    一个简单的图片加解密函数 使用client跑,不要使用浏览器跑 qq845875470 ,技术交流 <?php /** * Created by hello. * User: qq 845875 ...

  3. 工作中拓展的加密解密传输方式. DES对称加密传输.

    系统间通过xml传输, 不能采用明文, 就加密传输. 秘钥(真正有效的是前8位)存储于配置中. public static string EncryptStr(this string content, ...

  4. 使用Aes对称加密解密Web.Config数据库连接串

    现在很多公司开始为了保证数据库的安全性,通常会对Web.Config的数据库连接字符串进行加密.本文将介绍学习使用Aes加密解密数据库连接字符串.本文采用MySql数据库. AES概念简述 AES 是 ...

  5. java字符串加密解密

    java字符串加密解密 字符串加密解密的方式很多,每一种加密有着相对的解密方法.下面要说的是java中模拟php的pack和unpack的字符串加密解密方法. java模拟php中pack: /** ...

  6. Aes 加密解密 java加密解密

    使用AES加密解密代码详解 首先,如果是使用nodejs + vue 写的前端, 那么你需要npm 加载一个js文件 npm i crypto-js --save --save-exact npm i ...

  7. 大华摄像头报警接口中图片加密,python调用c++方式实现解密

    项目中,大华摄像头的报警信息,里面有图片地址,需要1天内取下来,保持留痕 可惜,图片下载后,加密了,大华提供了android,ios,c++例子,没有提供java解密例子 没办法,只好先用c++例子简 ...

  8. java 对视频和图片进行加密解密[转]

    是时候回到文件加密与解密的具体实现这个主题上来了.后续的举例均采用图片(包括GIF动画)类型,而其他类型资源的实现原理相同,就不一一给出了.首先来看对一幅JPG类型图片进行异或加密的Java实现,由于 ...

  9. 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间

    生成二维码 /// <summary>/// 生成二维码/// </summary>public static class QRcodeUtils{private static ...

随机推荐

  1. ubuntu 16.04 TLS 安装VNC

    安装 #autocuftsel 用于vnc两段的复制粘贴 sudo apt-get install autocutsel 安装 vncserversudo apt-get install --no-i ...

  2. Codeforces Round #554 (Div. 2) E Neko and Flashback (欧拉路径 邻接表实现(当前弧优化..))

    就是一欧拉路径 贴出邻接表欧拉路径 CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 100005; ...

  3. The Preliminary Contest for ICPC Asia Xuzhou 2019 【 题目:so easy】{并查集维护一个数的下一个没有被删掉的数} 补题ING

    题意:给[1,n],n个数,有两种操作: 1 x,删去x2 x,查询还未被删去的数中大于等于x的最小的数是多少. input: output: 做法:按照并查集的方法压缩路径 代码: #include ...

  4. 给json数组添加新字段并赋值

    zNodes.forEach(function(item) { item.newtitle ="点击加号设为主席会场"; });

  5. linux认识

    linux基础 根目录 文档扩展名 在Linux中,跟windows的扩展名.exe .bat.dll不同,只要在那十个字符中有x权限,这个档案就是可执行的, 但是,可被执行和执行成功是两回事,在Li ...

  6. 51Nod 1701 最后的机会

    1701 最后的机会 给定一字符串S,S非空,由小写字母组成,设v为S中元音字母的个数,c为辅音字母的个数."a", "e", "i", & ...

  7. [CQOI2016]手机号码 数位DP

    [CQOI2016]手机号码 用来数位DP入门,数位DP把当前是否需要限制取数范围(是否正在贴着临界值跑,即下面的limited)和一切需要满足的条件全部塞进记忆化搜索参数里面就好了,具体情况转移便好 ...

  8. 【luogu1325】雷达安装--贪心

    题目描述 描述: 假设海岸线是一条无限延伸的直线.它的一侧是陆地,另一侧是海洋.每一座小岛是在海面上的一个点.雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围d.你的任务是建立尽量少 ...

  9. dosbox+masm汇编环境的安装和使用

    1. 下载dosbox安装程序:DOSBox0.74-win32-installer.exe 链接:https://pan.baidu.com/s/1gXPKTT-xKb6BpjOJdhmudA 密码 ...

  10. linux密码忘记的处理步骤

    linux忘记密码 centos7忘记密码如何解决?进入到单用户模式下去修改root密码step 1:开机时按住向下箭头,选择第一个,按住e进入gurb界面:step 2:在编辑模式下找ro 修改为  ...