23
A
回答
47
hash软件包对此很有帮助。请注意,它是对特定哈希实现的抽象。在包subdirectories中发现了一些现成的。
实施例:
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."))
}
(也here)
输出:
926844193
107706013
+0
另外,可以使用单个实例和'Write' /'Reset',而不是每次创建'New32a'。我不知道它有多少成本。例如:https://play.golang.org/p/aUeNBo755g –
1
这里是你可以使用以生成散列数的函数:
// 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
相关问题
- 1. 在Go中生成crypt()sha512哈希
- 2. 从一组变量中生成一个哈希字符串
- 3. 如何在Visual Studio中生成一个字符串的MD5哈希值?
- 4. 如何在C++中生成一组唯一的哈希字符串?
- 5. 从字符串生成一个大小为12的哈希值
- 6. 生成一个字符串哈希来比较两个子字符串
- 7. 在Arduino中生成由数字和字母组成的字符串哈希
- 8. 如何在PHP中使用一些特殊规则生成哈希字符串?
- 9. 在AppleScript中,如何在剪贴板中生成字符串的MD5哈希值?
- 10. 如何在Cocoa中创建一个MD5哈希字符串?
- 11. 哈希字符串
- 12. 如何生成在Java中共享相同哈希码的字符串?
- 13. 基本字符串哈希/去哈希
- 14. 如何从一个字符串在Go
- 15. 如何在J2ME中生成哈希值?
- 16. 如何在java中只用数字或只用字符生成MD5哈希
- 17. 生成基于DateTime和字符串参数的唯一的哈希
- 18. 将字符串拆分成哈希?
- 19. 成株字符串哈希测试
- 20. 如果给定的字符串总是生成相同的哈希,哈希如何安全?
- 21. 如何在字符串中跳转哈希符号在PHP中
- 22. 字符串到哈希中的符号
- 23. Go Hmac SHA1生成与Java中的Hmac SHA1不同的哈希
- 24. 如何从C#中的字节数组生成哈希码?
- 25. 如何查询字符串转换成哈希在Perl
- 26. 如何哈希转换为字符串
- 27. 字符串的唯一哈希
- 28. 创建一个字符串的哈希值,并在C#中uinteger
- 29. 转换哈希字符串在Ruby中
- 30. 什么是从一个更长的字符串生成短哈希字符串的最佳方式
不具体,但有趣和相关转到: http://stackoverflow.com/a/107657/532430 – thwd
这就是所谓的prehash,理论上。 – Roylee