CheckSum校验
来源:互联网 发布:生产批号查询软件 编辑:程序博客网 时间:2024/05/21 15:05
[file head]:
/*
*****************************************Copyright (c)**************************************************
**
**--------------文件信息--------------------------------------------------------------------------------
** 文件名称: CheckSum.c
** 文件标识:
** 描 述: 校验和处理,用RealView 3.0+编译,必须使用ARM方式编译
**
**
**--------------修改记录--------------------------------------------------------------------------------
**
** 当前版本: 1.0
** 作 者:
** 完成日期: 2007年6月30日
** 修改内容:
**
** 取代版本:
** 作 者:
** 完成日期:
********************************************************************************************************
*/
#include "config.h"
const BYTE gv_smCRCHighTbl[256]={
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
... ...
[file tail]:
... ...
-----------------------------------------------------------
********************************************************************************************************
*/
DWORD CRC16CheckSum(BYTE *pbData, DWORD dwLen)
{
BYTE bTmpVal = 0;
BYTE bCRCH = 0xFF;
BYTE bCRCL = 0xFF;
DWORD dwLooper = 0;
DWORD dwRetc = EMCDCM_OK;
if((0 == dwLen) || (NULL == pbData))
{
dwRetc = EMCDCM_ERR;
}
else
{
for(dwLooper=dwLen; dwLooper>0; dwLooper--)
{
bTmpVal = bCRCH ^ (*pbData++);
bCRCH = bCRCL ^ gv_smCRCHighTbl[bTmpVal];
bCRCL = gv_smCRCLowTbl[bTmpVal];
}
*pbData++ = bCRCH;
*pbData = bCRCL;
dwRetc = EMCDCM_OK;
}
return dwRetc;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
/*
*****************************************Copyright (c)**************************************************
**
**--------------文件信息--------------------------------------------------------------------------------
** 文件名称: CheckSum.c
** 文件标识:
** 描 述: 校验和处理,用RealView 3.0+编译,必须使用ARM方式编译
**
**
**--------------修改记录--------------------------------------------------------------------------------
**
** 当前版本: 1.0
** 作 者:
** 完成日期: 2007年6月30日
** 修改内容:
**
** 取代版本:
** 作 者:
** 完成日期:
********************************************************************************************************
*/
#include "config.h"
const BYTE gv_smCRCHighTbl[256]={
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
... ...
[file tail]:
... ...
-----------------------------------------------------------
********************************************************************************************************
*/
DWORD CRC16CheckSum(BYTE *pbData, DWORD dwLen)
{
BYTE bTmpVal = 0;
BYTE bCRCH = 0xFF;
BYTE bCRCL = 0xFF;
DWORD dwLooper = 0;
DWORD dwRetc = EMCDCM_OK;
if((0 == dwLen) || (NULL == pbData))
{
dwRetc = EMCDCM_ERR;
}
else
{
for(dwLooper=dwLen; dwLooper>0; dwLooper--)
{
bTmpVal = bCRCH ^ (*pbData++);
bCRCH = bCRCL ^ gv_smCRCHighTbl[bTmpVal];
bCRCL = gv_smCRCLowTbl[bTmpVal];
}
*pbData++ = bCRCH;
*pbData = bCRCL;
dwRetc = EMCDCM_OK;
}
return dwRetc;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
- CheckSum校验
- checksum校验
- checksum校验
- Checksum 校验和
- android checksum校验
- Checksum 校验和
- 校验和代码(CheckSum)
- 滚动校验(Rolling Checksum)算法
- 5.6开始的校验 checksum
- MD5 校验和(checksum)
- LSP校验和(Checksum)
- 网际校验和算法(Internet CheckSum)
- 网际校验和(Internet Checksum)算法实现
- internet网络 checksum校验和计算方法
- pt-table-checksum校验mysql数据一致性
- hadoop Checksum校验的一个小问题
- pt-table-checksum主从一致性校验工具
- pt-table-checksum- 主从MySQL数据一致性校验
- CString,string,char的综合比较
- 集群环境下的session复制问题
- CListCtrl应用
- CListCtrl使用详解
- Java异常处理
- CheckSum校验
- Checksum 校验和
- Altium Designer 导入Autocad 结构图纸
- char p转CString str
- C# 全过程用户权限实现策论 (3.权限与代码安全访问)
- CFile操作详解
- C/C++中的i18n
- Larbin网络爬虫
- C/C++里面使用的可变参数函数