Tay.Storage.CRC32C (tay v0.7.0)

Copy Markdown View Source

Internal, pure reference CRC-32C / Castagnoli implementation.

Reflected polynomial 0x82F63B78, initial register and final XOR 0xFFFFFFFF, no extra augmentation or final reflection. This is not IEEE CRC-32 and is not an authenticity or durability guarantee.

update/2 accepts an unfinalized register. To checksum chunks, start with initial/0, update in byte order, and finalize exactly once. The caller owns the wire byte order; this module returns an unsigned 32-bit integer.

Summary

Types

register()

@type register() :: 0..4_294_967_295

Functions

checksum(bytes)

@spec checksum(binary()) :: register()

finalize(register)

@spec finalize(register()) :: register()

initial()

@spec initial() :: register()

update(register, bytes)

@spec update(register(), binary()) :: register()