howeyc / Crc16
Licence: bsd-3-clause
Implements the 16-bit cyclic redundancy check, or CRC-16, checksum
Stars: ✭ 50
Programming Languages
go
31211 projects - #10 most used programming language
CRC16
A Go package implementing the 16-bit Cyclic Redundancy Check, or CRC-16, checksum.
Usage
To generate the hash of a byte slice, use the crc16.Checksum()
function:
import "github.com/howeyc/crc16"
data := byte("test")
checksum := crc16.Checksum(data, crc16.IBMTable)
The package provides the following hashing tables. For each of these tables, a shorthand can be used.
// This is the same as crc16.Checksum(data, crc16.IBMTable)
checksum := crc16.ChecksumIBM(data)
Using the hash.Hash interface also works.
h := crc16.New(crc16.IBMTable)
data := byte("test")
data2 := byte("data")
h.Write(data)
h.Write(data2)
checksum := h.Sum(nil)
Changelog
- 2017.03.27 - Added MBus checksum
- 2017.05.27 - Added checksum function without XOR
- 2017.12.08 - Implement encoding.BinaryMarshaler and encoding.BinaryUnmarshaler to allow saving and recreating their internal state.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].