Функция adler32.Checksum
Функция adler32.Checksum вычисляет контрольную сумму
Adler-32 для переданных данных. В качестве единственного
параметра функция принимает срез байт ([]byte),
для которого необходимо вычислить контрольную сумму.
Функция возвращает значение типа uint32,
представляющее собой контрольную сумму Adler-32.
Алгоритм Adler-32 является более быстрой альтернативой
CRC-32 и широко используется в протоколах передачи данных,
архиваторах и системах проверки целостности.
Синтаксис
adler32.Checksum(data []byte) uint32
Пример
Давайте вычислим контрольную сумму Adler-32 для строки "abcde":
package main
import (
"fmt"
"hash/adler32"
)
func main() {
data := []byte("abcde")
res := adler32.Checksum(data)
fmt.Println(res)
}
Результат выполнения кода:
144814940
Пример
Давайте вычислим контрольную сумму для пустого среза байт:
package main
import (
"fmt"
"hash/adler32"
)
func main() {
data := []byte("")
res := adler32.Checksum(data)
fmt.Println(res)
}
Результат выполнения кода:
1
Пример
Давайте используем функцию для проверки целостности данных, сравнивая контрольные суммы для одинаковых и разных строк:
package 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)
}
Результат выполнения кода:
true
false
Смотрите также
-
функцию
adler32.New,
которая создает новый хеш-объект для вычисления Adler-32 -
функцию
crc32.Checksum,
которая вычисляет контрольную сумму CRC-32 -
интерфейс
hash.Hash32,
который реализуют все 32-битные хеш-функции -
функцию
md5.Sum,
которая вычисляет хеш MD5 для данных