cocos2d-x 文件MD5校验(6)

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

p> DWORD T      : MD5_TXX Transformation constant 

p> NOTES:   None 

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

p>void CMD5Checksum::HH( DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T)  

p>{  

p>    DWORD H = (B ^ C ^ D);  

p>    A += H + X + T;  

p>    A = RotateLeft(A, S);  

p>    A += B;  

p>}  

p>  

p>  

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

p> FUNCTION:  CMD5Checksum::II 

p> DETAILS:  protected 

p> DESCRIPTION: Implementation of basic MD5 transformation algorithm 

p> RETURNS:  none 

p> ARGUMENTS:  DWORD &A, B, C, D : Current (partial) checksum 

p> DWORD X           : Input data 

p> DWORD S      : MD5_SXX Transformation constant 

p> DWORD T      : MD5_TXX Transformation constant 

p> NOTES:   None 

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

p>void CMD5Checksum::II( DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T)  

p>{  

p>    DWORD I = (C ^ (B | ~D));  

p>    A += I + X + T;  

p>    A = RotateLeft(A, S);  

p>    A += B;  

p>}  

p>  

p>  

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

p> FUNCTION:  CMD5Checksum::ByteToDWord 

p> DETAILS:  private 

p> DESCRIPTION: Transfers the data in an 8 bit array to a 32 bit array 

p> RETURNS:  void 

p> ARGUMENTS:  DWORD* Output : the 32 bit (unsigned long) destination array 

p> BYTE* Input   : the 8 bit (unsigned char) source array 

p> UINT nLength  : the number of 8 bit data items in the source array 

p> NOTES:   Four BYTES from the input array are transferred to each DWORD entry 

p> of the output array. The first BYTE is transferred to the bits (0-7) 

p> of the output DWORD, the second BYTE to bits 8-15 etc. 

p> The algorithm assumes that the input array is a multiple of 4 bytes long 

p> so that there is a perfect fit into the array of 32 bit words. 

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

p>void CMD5Checksum::ByteToDWord(DWORD* Output, BYTE* Input, UINT nLength)  

p>{  

p>    //entry invariants  

p>    ASSERT( nLength % 4 == 0 );  

p>    //ASSERT( AfxIsValidAddress(Output, nLength/4, TRUE) );  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 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