【问题标题】:Are there any libraries or functions in erlang that generate the hashcode of a Term or String?erlang 中是否有任何库或函数可以生成术语或字符串的哈希码?
【发布时间】:2013-03-15 10:33:13
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: erlang


    【解决方案1】:

    erlang:phash/2erlang:phash2/1 怎么样?

    【讨论】:

      【解决方案2】:

      对于加密哈希,您可以使用 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

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

      【讨论】:

      • 感谢您的指点。我将问题添加到我的问题中:我要解决的问题是我想缓存从另一个系统生成的术语。该术语将被字符串化并与哈希码一起传输,该哈希码将用于未来的比较,以确定术语/字符串是否已更改。我没有为此目的使用时间戳。
      • 所以让那个系统生成一个哈希,或者如果你不喜欢这些链接,你也可以自己生成一个。但要存储它,您可能需要使用记录。
      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 2021-12-11
      • 2010-11-07
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      相关资源
      最近更新 更多