РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1228 of 1593 menu

Функция crc64.Checksum

Функция crc64.Checksum вычисляет 64-битную контрольную сумму CRC-64 для переданных данных. В первый параметр мы передаем срез байтов []byte, для которого необходимо вычислить контрольную сумму, во второй параметр мы передаем таблицу полинома crc64.Table, которая определяет используемый алгоритм вычисления. Функция возвращает значение типа uint64 — 64-битную контрольную сумму.

Синтаксис

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

Пример

Давайте вычислим контрольную сумму CRC64 для строки "abcde", используя таблицу полинома ISO:

package main import ( "crypto/crc64" "fmt" ) func main() { data := []byte("abcde") tab := crc64.MakeTable(crc64.ISO) res := crc64.Checksum(data, tab) fmt.Println(res) }

Результат выполнения кода:

15042360528974577775

Пример

Давайте вычислим контрольную сумму CRC64 для пустого среза байтов:

package main import ( "crypto/crc64" "fmt" ) func main() { data := []byte{} tab := crc64.MakeTable(crc64.ECMA) res := crc64.Checksum(data, tab) fmt.Println(res) }

Результат выполнения кода:

0

Пример

Давайте вычислим контрольную сумму CRC64 для одной и той же строки с разными полиномами и сравним результаты:

package main import ( "crypto/crc64" "fmt" ) func main() { data := []byte("12345") tabISO := crc64.MakeTable(crc64.ISO) tabECMA := crc64.MakeTable(crc64.ECMA) sumISO := crc64.Checksum(data, tabISO) sumECMA := crc64.Checksum(data, tabECMA) fmt.Println("ISO:", sumISO) fmt.Println("ECMA:", sumECMA) }

Результат выполнения кода:

"ISO: 10167293053543445188" "ECMA: 14846868478967793242"

Смотрите также

  • функцию crc64.New,
    которая создает новый хеш-объект для вычисления CRC64
  • функцию crc32.Checksum,
    которая вычисляет 32-битную контрольную сумму CRC32
  • функцию md5.Sum,
    которая вычисляет хеш MD5 для данных
  • функцию sha256.Sum256,
    которая вычисляет хеш SHA-256 для данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить