zoukankan      html  css  js  c++  java
  • cocos2dx图片加密解密(npk方式)

    话不多说,直接开始:

    准备的工具:

    链接: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 7532:1457:1212:1210

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

    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 7532:1457:1212:1210

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

  • 相关阅读:
    mysql 初始密码 设置
    jsp基础知识(基本的语法及原理)
    hdu 2473 Junk-Mail Filter (并查集之点的删除)
    java版本的学生管理系统
    java操作数据库出现(][SQLServer 2000 Driver for JDBC]Error establishing socket.)的问题所在即解决办法
    Java学习之约瑟夫环的两中处理方法
    hdu 3367(Pseudoforest ) (最大生成树)
    hdu 1561 The more, The Better (树上背包)
    Nginx + Lua 搭建网站WAF防火墙
    长连接和短连接
  • 原文地址:https://www.cnblogs.com/xianguoguo/p/11092250.html
Copyright © 2011-2022 走看看