首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

hash/crc64

  • import "hash/crc64"
  • 概述
  • 索引

概述

Package crc64 实现64位循环冗余校验或 CRC-64 校验和。有关信息,请参阅http://en.wikipedia.org/wiki/Cyclic_redundancy_check

索引

  • 常量
  • func Checksum(data []byte, tab *Table) uint64
  • func New(tab *Table) hash.Hash64
  • func Update(crc uint64, tab *Table, p []byte) uint64
  • type Table
  • func MakeTable(poly uint64) *Table

包文件

常量

预定义的多项式。

代码语言:txt
复制
const (
        // ISO多项式,在ISO 3309中定义并用于HDLC。
        ISO = 0xD800000000000000

        // ECMA多项式,在ECMA 182中定义。
        ECMA = 0xC96C5795D7870F42
)

CRC-64校验和的大小(以字节为单位)。

代码语言:javascript
复制
const Size = 8
代码语言:javascript
复制
func Checksum(data []byte, tab *Table) uint64

校验和使用表格表示的多项式返回数据的 CRC-64 校验和。

代码语言:javascript
复制
func New(tab *Table) hash.Hash64

New 创建一个新的 hash.Hash64 ,使用 Table 表示的多项式计算 CRC-64 校验和。它的 Sum 方法将以 big-endian 字节顺序排列值。

代码语言:javascript
复制
func Update(crc uint64, tab *Table, p []byte) uint64

更新返回将 p 中的字节添加到 crc 的结果。

表格是一个256字的表格,表示高效处理的多项式。

代码语言:javascript
复制
type Table [256]uint64

func MakeTable(查看源代码)

代码语言:javascript
复制
func MakeTable(poly uint64) *Table

MakeTable 返回一个由指定多项式构成的表。该表的内容不得修改。

扫码关注腾讯云开发者

领取腾讯云代金券