Spec-Zone.ru › Go

Пакет crc64

  • import "hash/crc64"
  • Обзор
  • Индекс

Обзор

Пакет crc64 реализует 64-битный контрольный циклический избыток, или CRC-64, контрольную сумму. См. https://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
  • тип Table
  • func MakeTable(poly uint64) *Table

Файлы пакета

crc64.go

Константы

Предопределённые многочлены.

const (
    // The ISO polynomial, defined in ISO 3309 and used in HDLC.
    ISO = 0xD800000000000000

    // The ECMA polynomial, defined in ECMA 182.
    ECMA = 0xC96C5795D7870F42
)

Размер контрольной суммы CRC-64 в байтах.

const Size = 8

func Checksum

func Checksum(data []byte, tab *Table) uint64

Checksum возвращает контрольную сумму CRC-64 данных, используя многочлен, представленный таблицей.

func New

func New(tab *Table) hash.Hash64

New создаёт новый hash.Hash64, вычисляющий контрольную сумму CRC-64, используя многочлен, представленный таблицей. Его метод Sum выведет значение в порядке байтов big-endian. Возвращаемый Hash64 также реализует encoding.BinaryMarshaler и encoding.BinaryUnmarshaler для сериализации и десериализации внутреннего состояния хеширования.

func Update

func Update(crc uint64, tab *Table, p []byte) uint64

Update возвращает результат добавления байтов в p к crc.

тип Table

Table — это таблица из 256 слов, представляющая многочлен для эффективной обработки.

type Table [256]uint64

func MakeTable

func MakeTable(poly uint64) *Table

MakeTable возвращает таблицу, построенную из заданного многочлена. Содержимое этой таблицы изменять нельзя.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/hash/crc64/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API