资源简介

非常简易的CRC32 计算对于任意大小文件进行CRC32计算 目前采用的是POLY为0xedb88320

资源截图

代码片段和文件信息

#include 
#include 

#define CFG_FILE_PATH “./wordpress-3.1-zh_CN.zip“ //文件路径
typedef  int S32;
typedef  unsigned int U32;
typedef  unsigned char U8;

#define DATA_BUFF_LEN  32
#define CRC_POLY  0xedb88320 //crc种子

static unsigned int crc32;

/*
* 计算数据每一部分的数据的crc值
*/
U32 GetCrc32Indirect( U8 * DataPtr S32 DataLen)
{
    S32 dataIdx;
    U32 byteTmp;
    S32 bitLoop;
  
    for( dataIdx = 0; dataIdx < DataLen; dataIdx ++)
    {
        byteTmp = ( U32 )( DataPtr[ dataIdx ] ) & 0x000000ff;
        for( bitLoop = 0; bitLoop < 8; bitLoop++ )
        {
            if((( crc32 ^ byteTmp ) & 1 ) != 0 )
                crc32 = (( crc32 >> 1 ) & 0x7fffffff ) ^ CRC_POLY;
            else
                crc32 

评论

共有 条评论