cocos2d-x 文件MD5校验(4)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-15 19:49 点击:

p>      

p>private:  

p>    BYTE  m_lpszBuffer[64];  //input buffer  

p>    ULONG m_nCount[2];   //number of bits, modulo 2^64 (lsb first)  

p>    ULONG m_lMD5[4];   //MD5 checksum  

p>};  

p>  

p>#endif /* defined(__CMD5Checksum__) */  

p> 

p>[cpp] 

p>//  

p>//  MD5ChecksumDefines.cpp  

p>//  

p>  

p>#include "MD5ChecksumDefines.h"  

p>#include "CMD5Checksum.h"  

p>  

p>#ifdef _DEBUG  

p>#undef THIS_FILE  

p>static char THIS_FILE[]=__FILE__;  

p>#define new DEBUG_NEW  

p>#endif  

p>  

p>  

p>/***************************************************************************************** 

p>  

p> *****************************************************************************************/  

p>std::string CMD5Checksum::GetMD5(const std::string& strFilePath)  

p>{  

p>    FILE *file;  

p>    file = fopen(strFilePath.c_str(), "r");  

p>    if(!file)  

p>        return "";  

p>    CMD5Checksum MD5Checksum;   //checksum object  

p>    int nLength = 0;       //number of bytes read from the file  

p>    const int nBufferSize = 1024; //checksum the file in blocks of 1024 bytes  

p>    BYTE Buffer[nBufferSize];   //buffer for data read from the file  

p>      

p>    //checksum the file in blocks of 1024 bytes  

p>    while ((nLength =fread(Buffer, 1, nBufferSize, file)) > 0 )  

p>    {  

p>        MD5Checksum.Update( Buffer, nLength );  

p>    }  

p>      

p>    fclose(file);  

p>      

p>    //finalise the checksum and return it  

p>    return MD5Checksum.Final();  

p>  

p>}  

p>  

p>/***************************************************************************************** 

p> FUNCTION:  CMD5Checksum::RotateLeft 

p> DETAILS:  private 

p> DESCRIPTION: Rotates the bits in a 32 bit DWORD left by a specified amount 

p> RETURNS:  The rotated DWORD 

p> ARGUMENTS:  DWORD x : the value to be rotated 

p> int n   : the number of bits to rotate by 

p> *****************************************************************************************/  

p>DWORD CMD5Checksum::RotateLeft(DWORD x, int n)  

p>{  

p>    //check that DWORD is 4 bytes long - true in Visual C++ 6 and 32 bit Windows  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1