例えば:
hash("HelloWorld") = 1234567
これを行うことができる組み込み関数はありますか?
ありがとう。
hash パッケージはこれに役立ちます。特定のハッシュ実装の抽象化であることに注意してください。いくつかの既製はパッケージにあります サブディレクトリ 。
例:
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."))
}
( ここ )
出力:
926844193
107706013
ハッシュ番号を生成するために使用できる関数は次のとおりです。
// FNV32a hashes using fnv32a algorithm
func FNV32a(text string) uint32 {
algorithm := fnv.New32a()
algorithm.Write([]byte(text))
return algorithm.Sum32()
}
これらのユーティリティハッシュ関数のグループをここにまとめます。 https://github.com/shomali11/util
見つけるだろう FNV32
、FNV32a
、FNV64
、FNV65a
、MD5
、SHA1
、SHA256
およびSHA512