2026-05-21 23:38:52 +03:00
|
|
|
package util
|
|
|
|
|
|
|
|
|
|
import (
|
2026-05-31 20:01:28 +00:00
|
|
|
"hash"
|
2026-05-21 23:38:52 +03:00
|
|
|
"hash/crc32"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
castagnoliTable = crc32.MakeTable(crc32.Castagnoli)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func CalcChecksum(page []byte) uint32 {
|
|
|
|
|
return crc32.Checksum(page, castagnoliTable)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func IsValidChecksum(page []byte, checksum uint32) bool {
|
|
|
|
|
return crc32.Checksum(page, castagnoliTable) == checksum
|
|
|
|
|
}
|
2026-05-31 20:01:28 +00:00
|
|
|
|
|
|
|
|
func NewHasher() hash.Hash32 {
|
|
|
|
|
return crc32.New(castagnoliTable)
|
|
|
|
|
}
|