You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言中如何快速获取[]byte字节数组的校验和

Go 中获取 []byte 校验和的方法

有非常简洁的实现方式,根据你需要的校验和类型可以选择不同的方案:


1. 简单字节累加和(完全匹配你提到的 sum(array) 效果)

如果只是需要把所有字节数值相加得到总和,直接写个轻量的工具函数即可:

// 自定义sum函数,累加所有字节值
func sum(b []byte) uint64 {
	var res uint64
	for _, val := range b {
		res += uint64(val)
	}
	return res
}

// 调用示例
array := []byte("some string")
sumRes := sum(array)

2. 工程常用标准校验和(标准库直接支持,无需自己实现)

如果是需要CRC、MD5、SHA这类工业标准校验和,Go标准库已经封装好了直接调用的方法,入参就是[]byte,和你期望的调用逻辑完全一致:

  • CRC32(适合快速校验数据完整性)
import "hash/crc32"

array := []byte("some string")
crc32Res := crc32.ChecksumIEEE(array)
  • MD5
import "crypto/md5"

array := []byte("some string")
md5Res := md5.Sum(array) // 返回长度为16的字节数组,存储MD5校验值
  • SHA256
import "crypto/sha256"

array := []byte("some string")
sha256Res := sha256.Sum256(array) // 返回长度为32的字节数组,存储SHA256校验值

以上所有方法都不需要额外依赖,直接调用即可得到结果。

内容的提问来源于stack exchange,提问作者g g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:03:02