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
  • type 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 для данных, используя полином, представленный в Table.

func New

func New(tab *Table) hash.Hash64

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

func Update

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

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

type Table

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

type Table [256]uint64

func MakeTable

func MakeTable(poly uint64) *Table

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

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

Spec-Zone.ru

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