crc8

package
v1.0.10005 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const Size = 1

大小

Variables

View Source
var (
	// "CRC-8" x8 + x2 + x + 1
	CRC8 = Params{0x07, 0x00, false, false, 0x00}
	// "CRC-8/CDMA2000"
	CRC8_CDMA2000 = Params{0x9B, 0xFF, false, false, 0x00}
	// "CRC-8/DARC"
	CRC8_DARC = Params{0x39, 0x00, true, true, 0x00}
	// "CRC-8/DVB-S2"
	CRC8_DVB_S2 = Params{0xD5, 0x00, false, false, 0x00}
	// "CRC-8/EBU"
	CRC8_EBU = Params{0x1D, 0xFF, true, true, 0x00}
	// "CRC-8/I-CODE"
	CRC8_I_CODE = Params{0x1D, 0xFD, false, false, 0x00}
	// "CRC-8/ITU" 	x8 + x2 + x + 1
	CRC8_ITU = Params{0x07, 0x00, false, false, 0x55}
	// "CRC-8/MAXIM" x8 + x5 + x4 + 1
	CRC8_MAXIM = Params{0x31, 0x00, true, true, 0x00}
	// "CRC-8/ROHC" x8 + x2 + x + 1
	CRC8_ROHC = Params{0x07, 0xFF, true, true, 0x00}
	// "CRC-8/WCDMA"
	CRC8_WCDMA = Params{0x9B, 0x00, true, true, 0x00}
)

类型列表

Functions

func Checksum

func Checksum(data []byte, params Params) uint8

生成

func ChecksumCDMA2000 added in v1.0.10002

func ChecksumCDMA2000(data []byte) uint8

生成 CDMA2000

func ChecksumCRC8

func ChecksumCRC8(data []byte) uint8

生成 CRC8

func ChecksumDARC added in v1.0.10002

func ChecksumDARC(data []byte) uint8

生成 DARC

func ChecksumDVB_S2 added in v1.0.10002

func ChecksumDVB_S2(data []byte) uint8

生成 DVB_S2

func ChecksumEBU added in v1.0.10002

func ChecksumEBU(data []byte) uint8

生成 EBU

func ChecksumITU

func ChecksumITU(data []byte) uint8

生成 ITU

func ChecksumI_CODE added in v1.0.10002

func ChecksumI_CODE(data []byte) uint8

生成 I_CODE

func ChecksumMAXIM

func ChecksumMAXIM(data []byte) uint8

生成 MAXIM

func ChecksumROHC

func ChecksumROHC(data []byte) uint8

生成 ROHC

func ChecksumWCDMA added in v1.0.10002

func ChecksumWCDMA(data []byte) uint8

生成 WCDMA

func ToBinString

func ToBinString(data uint8) string

输出二进制字符

func ToHexString

func ToHexString(data uint8) string

输出两位 16 进制字符

func ToReverseHexBinString

func ToReverseHexBinString(data uint8) string

输出二进制字符,高低字节对调

func ToReverseHexString

func ToReverseHexString(data uint8) string

输出两位 16 进制字符,高低字节对调

Types

type CRC added in v1.0.10005

type CRC struct {
	// contains filtered or unexported fields
}

表格

func NewCRC added in v1.0.10005

func NewCRC(params ...Params) *CRC

构造函数

func NewCRC8

func NewCRC8(params ...Params) *CRC

构造函数

func (*CRC) Checksum added in v1.0.10005

func (this *CRC) Checksum(data []byte) uint8

Checksum

func (*CRC) Complete added in v1.0.10005

func (this *CRC) Complete(crc uint8) uint8

完成

func (*CRC) GetParams added in v1.0.10005

func (this *CRC) GetParams() Params

获取参数

func (*CRC) GetTable added in v1.0.10005

func (this *CRC) GetTable() [256]uint8

获取数据

func (*CRC) Init added in v1.0.10005

func (this *CRC) Init() uint8

初始值

func (*CRC) MakeTable added in v1.0.10005

func (this *CRC) MakeTable() *CRC

生成数值

func (*CRC) Update added in v1.0.10005

func (this *CRC) Update(crc uint8, data []byte) uint8

更新

func (*CRC) WithParams added in v1.0.10005

func (this *CRC) WithParams(params Params) *CRC

设置参数

func (*CRC) WithTable added in v1.0.10005

func (this *CRC) WithTable(table [256]uint8) *CRC

设置数据

type Hash8 added in v1.0.10002

type Hash8 interface {
	hash.Hash
	Sum8() uint8
}

crc8 hash

func NewCRC8Hash added in v1.0.10002

func NewCRC8Hash(params Params) Hash8

Hash

func NewHash added in v1.0.10002

func NewHash(crc *CRC) Hash8

构造函数

type Params

type Params struct {
	// 生成项的简写,以16进制表示。
	// 例如:CRC-32 即是0x04C11DB7,
	// 忽略了最高位的"1",即完整的生成项是0x104C11DB7。
	Poly uint8

	// 这是算法开始时寄存器(crc)的初始化预置值,十六进制表示。
	Init uint8

	// 待测数据的每个字节是否按位反转,True或False。
	RefIn bool

	// 在计算后之后,异或输出之前,整个数据是否按位反转,True或False。
	RefOut bool

	// 计算结果与此参数异或后得到最终的CRC值。
	XorOut uint8
}

参数 NAME:参数模型名称。 WIDTH:宽度,即CRC比特数。位数为:8

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL