Javascript 什么类型是散列值?我可以使用比较运算符吗?

Javascript 什么类型是散列值?我可以使用比较运算符吗?,javascript,firefox,hash,firefox-addon,operators,Javascript,Firefox,Hash,Firefox Addon,Operators,我正在开发firefox扩展,我想知道: 从字符串中获取哈希值后,该值是什么数据类型 我可以对它们使用比较运算符吗 所以我想做的是比较两个散列值,看看其中一个是否高于另一个。就像比较5>=4。这可能吗?要像对待整数一样对待散列值?是最流行的散列算法之一。它从一个字符串中给出一个十六进制十进制数,可用于比较,具有合理的安全性。对于JavaScript,您可以尝试,但您可以在网络上轻松找到许多其他实现。在您应该使用的Firefox插件中。例如,如果要使用MD5算法对字符串进行散列,可以使用以下函数:

我正在开发firefox扩展,我想知道:

  • 从字符串中获取哈希值后,该值是什么数据类型
  • 我可以对它们使用比较运算符吗

  • 所以我想做的是比较两个散列值,看看其中一个是否高于另一个。就像比较
    5>=4
    。这可能吗?要像对待整数一样对待散列值?

    是最流行的散列算法之一。它从一个字符串中给出一个十六进制十进制数,可用于比较,具有合理的安全性。对于JavaScript,您可以尝试,但您可以在网络上轻松找到许多其他实现。

    在您应该使用的Firefox插件中。例如,如果要使用MD5算法对字符串进行散列,可以使用以下函数:

    function toMD5(str)
    {
      // Convert string to an array of bytes
      var array = Array.prototype.slice.call(str);
    
      // Create MD5 hash
      var hashEngine = Components.classes["@mozilla.org/security/hash;1"]
                                 .createInstance(Components.interfaces.nsICryptoHash);
      hashEngine.init(hashEngine.MD5);
      hashEngine.update(array, array.length);
      return hashEngine.finish(true);
    }
    
    alert(toMD5("test"));  // Displays: 8dP/hEMpdzKGLfIdxOVyYg==
    

    请注意,这将返回base64编码的哈希值。使用
    finish(false)
    获取原始(二进制)散列值。

    您使用的是什么编程语言?我正在为mozila firefox创建一个扩展,因此它是javascript,但它使用(如果没有弄错的话)用C++编写的类。您可以对散列值进行排序,但结果通常与对散列对象进行排序时得到的顺序不同。你为什么要排序散列值?我想我知道了,谢谢。我正在应用Chord协议,该协议需要将一个ip+端口放在一个圆圈上,并且我需要知道其他2个ip+端口节点之间是我的当前节点。因此,我散列ip+端口,并根据它们的值将它们放在圆圈周围…让我们假设hash1