Cocos2d-x有三种较为常见的加密解密技术,你对此了解么?本篇教程将分析Cocos2D-X三种常见的加密解密技术。
一、常用加密情况有三种 :
1. 资源加密,如图片,音乐(防盗版)
2. 网络传输过程中的加密,避免被人拦截并修改数据(防作弊)
3. 游戏数据加密(防作弊)
二、加密作用:防止盗版,防止作弊。
三、常见加密方式 :
MD5
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。
在计算上不大可能找到散列为相同的值的两个不同的输入;也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配。数据的少量更改会在哈希值中产生不可预知的大量更改。所以你很难从加密后的文字中找到蛛丝马迹。
常用的MD5加密是只有加密,没有解密方法的方案,即不可逆转。通过MD5加密,会生成一串字符。MD5的API简单点。
MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。
MD5一度被广泛应用于计算机安全领域。但由于近年来MD5的弱点不断被发现,以及当今计算机运算能力的不断提升,现在已经可能人为构造出两个具有相同MD5校验值的信息,使本算法不再适合现今的安全领域。目前,MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的错误检查领域。例如在一些BitTorrent下载中,软件将通过计算MD5检验下载到的文件片段的完整性。
MD5算法较老,散列长度固定为128比特,随着计算机运算能力提高,更快地找到“碰撞”是有可能的。因此,在安全要求高的场合不应再使用MD5。
BASE64:
可加解密
SHA1:
单向加密,非逆向。MD5和SHA1就是目前使用最为广泛的良种加密算法。这两种算法都是基于MD4,但又略有不同。一般来说,SHA1计算速度比较慢,但抗穷举行能也更好。现在也会用于P2P软件中比较文件完整性
还有其它开源加密库,但是一般不会用到那么高级的库,所以一般情况下,这些加密方法就够了,有兴趣可以自己去研究其它库。
注意事项, 以C风格引入头文件。注意头文件的路径,如果存放路径不一样,不是crypto文件夹,就要改头文件路径。
#include "crypto/CCCrypto.h"
extern "C" {
#include "crypto/base64/libb64.h"
#include "crypto/md5/md5.h"
#include "crypto/sha1/sha1.h"
}