普贤教程 › 包参考
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所属分类教程:数据格式与编解码
公开接口
| 函数 | 参数 |
|---|---|
crc32 | s |
crc32_hex | s |
adler32 | s |
其余 7 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
ck_crc_table_make | |
ck_hex_digit | v |
crc16 | s |
crc16_hex | s |
fletcher32 | s |
checksum_verify | s, expected_hex |
hex_digest | s |
包内说明(源码头注释)
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 无关;碰撞/恶意构造场景勿用于防伪。 ============================================================