字节数组的校验和
checksum of a byte array
我有一个 []byte
,由一个字符串组成:
array := []byte("some string")
看起来像预期的那样:
[115 111 109 101 32 115 116 114 105 110 103]
有没有办法简单地得到[]byte的校验和?喜欢:
sum(array)
也许您需要 md5.sum 检查可靠性。
https://pkg.go.dev/crypto/md5#Sum
package main
import (
"crypto/md5"
"fmt"
)
func main() {
data := []byte("some string")
fmt.Printf("%x", md5.Sum(data))
}
另一个例子。
我认为最好避免使用 fmt
进行转换:
package main
import (
"crypto/md5"
"encoding/hex"
)
func checksum(s string) string {
b := md5.Sum([]byte(s))
return hex.EncodeToString(b[:])
}
func main() {
s := checksum("some string")
println(s == "5ac749fbeec93607fc28d666be85e73a")
}
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
)
func GetMD5HashWithSum(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
func main() {
hello := GetMD5HashWithSum("some string")
fmt.Println(hello)
}
你可以在 Golang Playground
我有一个 []byte
,由一个字符串组成:
array := []byte("some string")
看起来像预期的那样:
[115 111 109 101 32 115 116 114 105 110 103]
有没有办法简单地得到[]byte的校验和?喜欢:
sum(array)
也许您需要 md5.sum 检查可靠性。
https://pkg.go.dev/crypto/md5#Sum
package main
import (
"crypto/md5"
"fmt"
)
func main() {
data := []byte("some string")
fmt.Printf("%x", md5.Sum(data))
}
另一个例子。
我认为最好避免使用 fmt
进行转换:
package main
import (
"crypto/md5"
"encoding/hex"
)
func checksum(s string) string {
b := md5.Sum([]byte(s))
return hex.EncodeToString(b[:])
}
func main() {
s := checksum("some string")
println(s == "5ac749fbeec93607fc28d666be85e73a")
}
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
)
func GetMD5HashWithSum(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
func main() {
hello := GetMD5HashWithSum("some string")
fmt.Println(hello)
}
你可以在 Golang Playground