Cocos2d-x教程(25)-本地数据加密
当我们使用本地数据存储CCUserDefault时会存在一个缺陷,那就是CCUserDefault采用的存储方式为明文存储,这对于玩家来说修改存档的数据是十分方便的。今天我们要学习的就是如何使用SHA1消息摘要算法对CCUserDefault存储的数据进行加密。
SHA1库文件的下载地址: http://www.tamale.net/ 进入网页后找到SHA-1点击下载,解压出来后将sha1.h与sha1.cpp两个文件拷贝到项目目录下即可。
采用信息摘要算法加密的过程是:
1.首先使用CCUserDefault存储一个数据
2.使用sha1的addBytes方法写入待校验数据
3.多创建一个key,这个key仍然需要写入,但是会被隐藏到编码中,等到我们取出存储数据时也同时将这个key值取出,然后对校验码进行比对,如果相同,则证明数据没有被修改。当然如果有人将你的项目汇编找到了key那就另当别论了....但是一般选手是不具备这个实力的。
下面看代码:
首先需要引入头文件:
#include sha1.h
然后笔者在HelloWorld的init()方法中直接添加了下列代码:控制台输出结果:
校验结果相同,说明数据未被修改。