---
title: CRC32C接口
description: "计算字符数组的CRC32C校验和。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC5/sds/kunpengksal_16_0020.html
sourcePath: /source/zh/kunpengboostkithistory/230RC5/sds/kunpengksal_16_0020.html
indexId: c06b0637a3d120919524e5ea04cbd64c2770c7f751f313b4c95301b5d31b973269
---
# CRC32C接口

计算字符数组的CRC32C校验和。

#### 接口格式

uint32_t KsalCrc32c(uint32_t seed, uint8_t *data, uint64_t len);


#### 参数释义

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| seed | 32位整型数 | CRC的种子。 | 输入 |
| data | 字符数组 | CRC的字符数组。 | 输入 |
| len | 64位整型数 | 数组长度。 | 输入 |
| crc | 32位整型数 | CRC校验和。 | 输出 |


#### 使用依赖

ksal/ksal_crc.h


#### 使用实例

1. 编写CRC32C测试代码。

  a. 新建“test.c”文件。

```
vi test.c
```


  b. 按“i”键进入编辑模式，添加如下测试代码。

```
#include <stdio.h>
#include <stdlib.h>
#include <ksal/ksal_crc.h>
int main(int argc, char **argv)
{
uint8_t buf[4096];
for (size_t i = 0; i < sizeof(buf); ++i) {
buf[i] = (int8_t)i & 0xff;
}
uint32_t crc = KsalCrc32c(0x123, buf, sizeof(buf));
printf("crc = 0x%x\r\n", crc);
return 0;
}
```


  c. 按“Esc”键退出编辑模式，输入:wq!并按“Enter”键保存退出文件。
2. 编译“test.c”文件，生成test可执行文件。

```
gcc test.c -lksal -o test
```


3. 运行test可执行文件。

```
./test
```


  执行输出如下。

```
crc = 0x4ee4ecc1
```
