例如:
hash("HelloWorld") = 1234567
Run Code Online (Sandbox Code Playgroud)
有没有内置功能可以做到这一点?
谢谢.
zzz*_*zzz 69
该散包是这很有帮助.请注意,它是对特定哈希实现的抽象.在包子目录中找到一些现成的.
例:
package main
import (
"fmt"
"hash/fnv"
)
func hash(s string) uint32 {
h := fnv.New32a()
h.Write([]byte(s))
return h.Sum32()
}
func main() {
fmt.Println(hash("HelloWorld"))
fmt.Println(hash("HelloWorld."))
}
Run Code Online (Sandbox Code Playgroud)
(还在这里)
输出:
926844193
107706013
Run Code Online (Sandbox Code Playgroud)
这是一个可用于生成哈希数的函数:
// FNV32a hashes using fnv32a algorithm
func FNV32a(text string) uint32 {
algorithm := fnv.New32a()
algorithm.Write([]byte(text))
return algorithm.Sum32()
}
Run Code Online (Sandbox Code Playgroud)
我在这里整理了一组这些实用程序哈希函数:https : //github.com/shomali11/util
你会发现FNV32, FNV32a, FNV64, FNV64a, MD5, SHA1,SHA256和SHA512