CRC32

简介

CRC32 函数用于计算给定字符串的 CRC-32 循环冗余校验值。CRC-32 基于 IEEE 802.3 标准,可以将任意长度的数据映射为一个 32 位的无符号整数校验值,常用于数据完整性校验和错误检测。

语法

crc32(expr)
crc32(expr)

参数说明

  • expr
    expr
    : 需要计算 CRC-32 校验值的输入数据,支持 STRING、VARCHAR、CHAR 类型。

返回结果

返回一个 BIGINT 类型的值,表示计算得到的 CRC-32 校验值(范围为 0 到 4294967295)。

使用示例

  1. 计算一个简单字符串的 CRC32 值:

    SELECT crc32('hello') AS res; +-----------+ | res | +-----------+ | 907060870 | +-----------+

  2. 计算一个包含特殊字符的字符串的 CRC32 值:

    SELECT crc32('Hello, World!') AS res; +------------+ | res | +------------+ | 3964322768 | +------------+

  3. 当输入为 NULL 时:

    SELECT crc32(NULL) AS res; +------+ | res | +------+ | NULL | +------+

注意事项

  • CRC32 返回的是一个 BIGINT 类型的整数值,而非十六进制字符串,这与 SHA 系列哈希函数不同。
  • CRC-32 是一种循环冗余校验算法,不属于加密哈希函数,不适用于安全相关的场景(如密码存储、数字签名)。
  • CRC-32 输出为 32 位无符号整数,取值范围为 0 到 4294967295。
  • 当输入参数为 NULL 时,返回结果为 NULL。
  • CRC-32 适用于数据传输校验、文件完整性检测等场景。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询