Функция adler32.Checksum

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

Синтаксис

goadler32.Checksum(data []byte) uint32

Пример

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

gopackage main

import (
  "fmt"
  "hash/adler32"
)

func main() {
  data := []byte("abcde")
  res := adler32.Checksum(data)
  fmt.Println(res)
}

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

go144814940

Пример

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

gopackage main

import (
  "fmt"
  "hash/adler32"
)

func main() {
  data := []byte("")
  res := adler32.Checksum(data)
  fmt.Println(res)
}

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

go1

Пример

Давайте используем функцию для проверки целостности данных, сравнивая контрольные суммы для одинаковых и разных строк:

gopackage main

import (
  "fmt"
  "hash/adler32"
)

func main() {
  data1 := []byte("Hello, Go!")
  data2 := []byte("Hello, Go!")
  data3 := []byte("Hello, World!")

  sum1 := adler32.Checksum(data1)
  sum2 := adler32.Checksum(data2)
  sum3 := adler32.Checksum(data3)

  fmt.Println(sum1 == sum2)
  fmt.Println(sum1 == sum3)
}

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

gotrue
false

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

  • функцию adler32.New,
    которая создает новый хеш-объект для вычисления Adler-32
  • функцию crc32.Checksum,
    которая вычисляет контрольную сумму CRC-32
  • интерфейс hash.Hash32,
    который реализуют все 32-битные хеш-функции
  • функцию md5.Sum,
    которая вычисляет хеш MD5 для данных