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

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

  • 相关阅读:
    c++字符串排序
    JAVA实现四则运算的简单计算器
    JAVA图形小动画之简单行星运动
    JAVA多线程编程
    ege图形库之简单贪吃蛇(c++)
    ege图形库之动画排序
    mysql 性能优化方案
    MYSQL 优化常用方法
    [手把手教你] 用Swoft 搭建微服务(TCP RPC)
    php有效防止同一用户多次登录
  • 原文地址:https://www.cnblogs.com/xianguoguo/p/11092250.html
Copyright © 2011-2022 走看看