Skip to content

howeyc/crc16

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoDoc Build Status

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.

About

Implements the 16-bit cyclic redundancy check, or CRC-16, checksum

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages