---
title: CRC32C接口
description: "计算字符数组的CRC32C校验和。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/storage/ksal/kunpengksal_16_0020.html
sourcePath: /source/zh/kunpengaccel/storage/ksal/kunpengksal_16_0020.html
indexId: 69ad2f55d4ab8a5ac59192842eb2c01993ed66b4b68bafb5292e1718a4636f5061
---
# 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”文件。
    1 vi test.c

  b. 按“i”键进入编辑模式，添加如下测试代码。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 #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可执行文件。
  1 gcc test.c -lksal -o test

3. 运行test可执行文件。
  1 ./test

  执行输出如下。 1 crc = 0x4ee4ecc1
