英文:
checksum of a byte array
问题
我有一个由字符串生成的[]byte
:
array := []byte("some string")
它看起来像这样:
[115 111 109 101 32 115 116 114 105 110 103]
有没有一种简单的方法来获取[]byte
的校验和?像这样:
sum(array)
英文:
I have a []byte
, made from a string:
array := []byte("some string")
It looks like expected:
[115 111 109 101 32 115 116 114 105 110 103]
Is there a way to simply get the checksum of []byte? Like:
sum(array)
答案1
得分: 1
也许你需要使用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))
}
另一个例子。
https://play.golang.org/p/7_ctunsqHS3
英文:
Maybe you need md5.sum to check reliability.
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))
}
Another example.
答案2
得分: 1
我认为在可能的情况下,避免使用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")
}
https://godocs.io/crypto/md5#Sum
英文:
I think it's good to avoid using fmt
for conversion when possible:
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")
}
答案3
得分: 0
以下是代码的中文翻译:
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上运行它。
英文:
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)
}
You can it on Golang Playground
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论