亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
archive archive/tar archive/zip bufio bufio(緩存) builtin builtin(內置包) bytes bytes(包字節(jié)) compress compress/bzip2(壓縮/bzip2) compress/flate(壓縮/flate) compress/gzip(壓縮/gzip) compress/lzw(壓縮/lzw) compress/zlib(壓縮/zlib) container container/heap(容器數(shù)據結構heap) container/list(容器數(shù)據結構list) container/ring(容器數(shù)據結構ring) context context(上下文) crypto crypto(加密) crypto/aes(加密/aes) crypto/cipher(加密/cipher) crypto/des(加密/des) crypto/dsa(加密/dsa) crypto/ecdsa(加密/ecdsa) crypto/elliptic(加密/elliptic) crypto/hmac(加密/hmac) crypto/md5(加密/md5) crypto/rand(加密/rand) crypto/rc4(加密/rc4) crypto/rsa(加密/rsa) crypto/sha1(加密/sha1) crypto/sha256(加密/sha256) crypto/sha512(加密/sha512) crypto/subtle(加密/subtle) crypto/tls(加密/tls) crypto/x509(加密/x509) crypto/x509/pkix(加密/x509/pkix) database database/sql(數(shù)據庫/sql) database/sql/driver(數(shù)據庫/sql/driver) debug debug/dwarf(調試/dwarf) debug/elf(調試/elf) debug/gosym(調試/gosym) debug/macho(調試/macho) debug/pe(調試/pe) debug/plan9obj(調試/plan9obj) encoding encoding(編碼) encoding/ascii85(編碼/ascii85) encoding/asn1(編碼/asn1) encoding/base32(編碼/base32) encoding/base64(編碼/base64) encoding/binary(編碼/binary) encoding/csv(編碼/csv) encoding/gob(編碼/gob) encoding/hex(編碼/hex) encoding/json(編碼/json) encoding/pem(編碼/pem) encoding/xml(編碼/xml) errors errors(錯誤) expvar expvar flag flag(命令行參數(shù)解析flag包) fmt fmt go go/ast(抽象語法樹) go/build go/constant(常量) go/doc(文檔) go/format(格式) go/importer go/parser go/printer go/scanner(掃描儀) go/token(令牌) go/types(類型) hash hash(散列) hash/adler32 hash/crc32 hash/crc64 hash/fnv html html html/template(模板) image image(圖像) image/color(顏色) image/color/palette(調色板) image/draw(繪圖) image/gif image/jpeg image/png index index/suffixarray io io io/ioutil log log log/syslog(日志系統(tǒng)) math math math/big math/big math/bits math/bits math/cmplx math/cmplx math/rand math/rand mime mime mime/multipart(多部分) mime/quotedprintable net net net/http net/http net/http/cgi net/http/cookiejar net/http/fcgi net/http/httptest net/http/httptrace net/http/httputil net/http/internal net/http/pprof net/mail net/mail net/rpc net/rpc net/rpc/jsonrpc net/smtp net/smtp net/textproto net/textproto net/url net/url os os os/exec os/signal os/user path path path/filepath(文件路徑) plugin plugin(插件) reflect reflect(反射) regexp regexp(正則表達式) regexp/syntax runtime runtime(運行時) runtime/debug(調試) runtime/internal/sys runtime/pprof runtime/race(競爭) runtime/trace(執(zhí)行追蹤器) sort sort(排序算法) strconv strconv(轉換) strings strings(字符串) sync sync(同步) sync/atomic(原子操作) syscall syscall(系統(tǒng)調用) testing testing(測試) testing/iotest testing/quick text text/scanner(掃描文本) text/tabwriter text/template(定義模板) text/template/parse time time(時間戳) unicode unicode unicode/utf16 unicode/utf8 unsafe unsafe
文字

  • import "hash/crc32"

  • 概述

  • 索引

  • 示例

概述

Package crc32 實現(xiàn)32位循環(huán)冗余校驗或CRC-32校驗和。有關信息,請參閱http://en.wikipedia.org/wiki/Cyclic_redundancy_check。

多項式以 LSB 優(yōu)先形式表示,也稱為反轉表示形式。

有關信息,請參閱http://en.wikipedia.org/wiki/Mathematics_of_cyclic_redundancy_checks#Reversed_representations_and_reciprocal_polynomials。

索引

  • 常量

  • 變量

  • func Checksum(data []byte, tab *Table) uint32

  • func ChecksumIEEE(data []byte) uint32

  • func New(tab *Table) hash.Hash32

  • func NewIEEE() hash.Hash32

  • func Update(crc uint32, tab *Table, p []byte) uint32

  • type Table

  • func MakeTable(poly uint32) *Table

示例

MakeTable

包文件

crc32.go crc32_amd64.go crc32_generic.go

常量

預定義的多項式。

const (        // IEEE是迄今為止最常見的CRC-32多項式。        // 由以太網(IEEE 802.3),v.42,fddi,gzip,zip,png,......使用
        IEEE = 0xedb88320        // Castagnoli的多項式,用于iSCSI。        // 具有比IEEE更好的錯誤檢測特性。        // http://dx.doi.org/10.1109/26.231911
        Castagnoli = 0x82f63b78        // 庫普曼(Koopman's)的多項式。        // 還具有比IEEE更好的錯誤檢測特性。        // http://dx.doi.org/10.1109/DSN.2002.1028931
        Koopman = 0xeb31d82e)

CRC-32 校驗和的大?。ㄒ宰止?jié)為單位)。

const Size = 4

變量

IEEETable 是 IEEE 多項式的表格。

var IEEETable = simpleMakeTable(IEEE)

func Checksum

func Checksum(data []byte, tab *Table) uint32

校驗和使用表格表示的多項式返回數(shù)據的 CRC-32 校驗和。

func ChecksumIEEE

func ChecksumIEEE(data []byte) uint32

ChecksumIEEE 使用 IEEE 多項式返回數(shù)據的 CRC-32 校驗和。

func New

func New(tab *Table) hash.Hash32

New 創(chuàng)建一個新的 hash.Hash32 ,使用表中表示的多項式計算 CRC-32 校驗和。它的 Sum 方法將以 big-endian 字節(jié)順序排列值。

func NewIEEE

func NewIEEE() hash.Hash32

NewIEEE 創(chuàng)建一個新的 hash.Hash32 ,使用 IEEE 多項式計算 CRC-32 校驗和。它的 Sum 方法將以 big-endian 字節(jié)順序排列值。

func Update

func Update(crc uint32, tab *Table, p []byte) uint32

更新返回將 p 中的字節(jié)添加到 crc 的結果。

type Table

表格是一個256字的表格,表示高效處理的多項式。

type Table [256]uint32

func MakeTable

func MakeTable(poly uint32) *Table

MakeTable 返回一個由指定多項式構成的表。該表的內容不得修改。

示例

package mainimport ("fmt""hash/crc32")func main() {// 在此包中,CRC多項式以反轉符號表示,// 或LSB優(yōu)先表示。//// LSB優(yōu)先表示是一個帶有n位的十六進制數(shù),其中// 最高有效位表示x?和最低有效系數(shù)// bit表示x?-1的系數(shù)(x?的系數(shù)是隱含的)。//// 例如,CRC32-Q,由以下多項式定義,//	x32+ x31+ x2?+ x22+ x1?+ x1?+ x?+ x?+ x?+ x3+ x1+ x?// 具有反轉符號0b11010101100000101000001010000001,所以該值// 應該傳遞給MakeTable的是0xD5828281。
	crc32q := crc32.MakeTable(0xD5828281)
	fmt.Printf("%08x\n", crc32.Checksum([]byte("Hello world"), crc32q))}
上一篇: 下一篇: