Функция crc32.Checksum
Функция crc32.Checksum вычисляет 32-битную контрольную сумму CRC-32 для переданных данных.
В первый параметр мы передаем срез байт, для которого нужно вычислить контрольную сумму,
во второй параметр мы передаем таблицу полинома, используемую для вычислений.
Функция возвращает значение типа uint32 - вычисленную контрольную сумму.
Синтаксис
crc32.Checksum(data []byte, tab *crc32.Table) uint32
Пример
Давайте вычислим контрольную сумму CRC-32 для строки "abcde":
package main
import (
"fmt"
"hash/crc32"
)
func main() {
data := []byte("abcde")
checksum := crc32.Checksum(data, crc32.IEEETable)
fmt.Println(checksum)
}
Результат выполнения кода:
858029382
Пример
Давайте вычислим контрольную сумму CRC-32 для пустого среза байт:
package main
import (
"fmt"
"hash/crc32"
)
func main() {
data := []byte("")
checksum := crc32.Checksum(data, crc32.IEEETable)
fmt.Println(checksum)
}
Результат выполнения кода:
0
Пример
Давайте вычислим контрольную сумму с использованием таблицы Castagnoli:
package main
import (
"fmt"
"hash/crc32"
)
func main() {
data := []byte("abcde")
checksum := crc32.Checksum(data, crc32.MakeTable(crc32.Castagnoli))
fmt.Println(checksum)
}
Результат выполнения кода:
3225895454
Смотрите также
-
функцию
crc32.ChecksumIEEE,
которая вычисляет CRC-32 с использованием таблицы IEEE -
функцию
crc32.New,
которая создает новый объект для пошагового вычисления CRC-32 -
функцию
crc64.Checksum,
которая вычисляет 64-битную контрольную сумму CRC-64 -
функцию
adler32.Checksum,
которая вычисляет контрольную сумму Adler-32