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

Функция crc32.ChecksumIEEE

Функция crc32.ChecksumIEEE вычисляет контрольную сумму CRC-32 для переданных данных. Алгоритм основан на полиноме IEEE (0xEDB88320), который широко применяется в сетевых протоколах и форматах файлов. В первый параметр передается срез байтов []byte, для которого рассчитывается контрольная сумма. Функция возвращает значение типа uint32 — 32-битное число, представляющее контрольную сумму.

Синтаксис

crc32.ChecksumIEEE(data []byte) uint32

Пример

Давайте вычислим контрольную сумму для строки "hello":

package main import ( "fmt" "hash/crc32" ) func main() { data := []byte("hello") res := crc32.ChecksumIEEE(data) fmt.Println(res) }

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

907060870

Пример

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

package main import ( "fmt" "hash/crc32" ) func main() { data := []byte{} res := crc32.ChecksumIEEE(data) fmt.Println(res) }

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

0

Пример

Сравним контрольные суммы для разных данных. Даже небольшое изменение приводит к совершенно другому результату:

package main import ( "fmt" "hash/crc32" ) func main() { data1 := []byte("hello") data2 := []byte("world") res1 := crc32.ChecksumIEEE(data1) res2 := crc32.ChecksumIEEE(data2) fmt.Println(res1, res2) }

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

907060870 2291510195

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

  • функцию crc32.Checksum,
    которая вычисляет CRC-32 с произвольным полиномом
  • функцию crc32.NewIEEE,
    которая создает хеш для поточного вычисления CRC-32 IEEE
  • функцию adler32.Checksum,
    которая вычисляет контрольную сумму Adler-32
  • функцию crc64.Checksum,
    которая вычисляет контрольную сумму CRC-64
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить