px普贤教程PuXian
普贤教程 › 包参考

checksum 包

CRC32 / Adler32 校验和

项值
包名checksum
版本0.2.0
可用版本0.1.0 / 0.2.0
入口checksum.px
分类数据格式与编解码
文件数 / 行数1 / 123

安装与引入

bash
pxpkg init          # 首次
pxpkg add checksum@0.2.0
pxpkg install
px
import checksum
所属分类教程:数据格式与编解码

公开接口

函数参数
crc32s
crc32_hexs
adler32s
其余 7 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
ck_crc_table_make
ck_hex_digitv
crc16s
crc16_hexs
fletcher32s
checksum_verifys, expected_hex
hex_digests

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/checksum —— CRC32 / Adler32 校验和
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
对齐 Go hash/crc32 + hash/adler32、Python zlib.crc32 / zlib.adler32 心智:
crc32(s)     → int    IEEE CRC-32(与 zlib.crc32 一致;对拍通过)
crc32_hex(s) → str    8 位小写十六进制
adler32(s)   → int    Adler-32(与 zlib.adler32 一致;对拍通过)
实现:
- CRC32 反射表(多项式 0xEDB88320)在模块顶层 const 构造一次,后续查表
- 按 UTF-8 字节流计算(bytes(s) + bytes_len/bytes_get 逐字节;
M185 起 str 的 len()/s[i]/切片三面统一 rune,逐字节请走字节面)
说明:CRC32 是校验用(非加密),与 crypto 无关;碰撞/恶意构造场景勿用于防伪。
============================================================