erlang中是否有任何库或函数可以生成Term或String的哈希码?

时间:2013-03-15 00:41:01

标签: erlang

在Java中,您可以为字符串生成整数哈希码,例如:

Java:
int hc = "My Phrase".hashCode();

是否有任何库能够生成字符串哈希值甚至更好的术语哈希值?

我想解决的问题是我想要缓存从另一个系统生成的Term。该术语将被字符串化并与散列码一起传输,该散列码将用于将来确定术语/字符串是否已更改的比较。我没有为此目的使用时间戳。

2 个答案:

答案 0 :(得分:8)

答案 1 :(得分:1)

对于加密哈希,使用SHA系列,您可以查看此人的代码:

http://steve.vinoski.net/blog/2009/01/03/more-sha-in-erlang/

您还可以查看记录(http://20bits.com/article/erlang-an-introduction-to-records),因为如果这是您的目标,它们将允许您创建关联数组功能以开始创建哈希图。

但是,根据您的需要,最佳解决方案是查看此pdf以获取哈希值和哈希图。

http://www.erlang-factory.com/upload/presentations/468/EUC_Hashes2011.pdf

有关创建自己的不可变哈希库的简单示例,您可以查看

http://www.trapexit.org/Hash_with_Immutable_Keys_or_Values

如果您能解释为什么需要哈希值,那将会很有帮助。你想解决什么问题?