是否有与php的本地hash()函数相对应的JavaScript?

时间:2019-04-26 14:28:55

标签: javascript

我正在将php脚本转换为Java脚本,一切都很好,除了找不到一个简单的js函数(该函数需要一个字符串并输出一个类似于php的hash()函数的SHA-512哈希十六进制字符串)。

这是一个非常老套的事情,需要用户输入文本并使用哈希来生成“随机图”,因此我并不真正关心哈希函数的安全性

我发现:

Formatters

但是不会产生我期望的漂亮的十六进制字符串。我发现了另一个将摘要转换为十六进制字符串的循环,但这很丑陋,我希望只是缺少一个简单的函数。

谢谢!

2 个答案:

答案 0 :(得分:0)

否,没有本机解决方案,只有Google对cryptoJS或此link

的简单研究

答案 1 :(得分:0)

这是Javascript implementation of Java’s String.hashCode() method

String.prototype.hashCode = function() {
  var hash = 0, i, chr;
  if (this.length === 0) return hash;
  for (i = 0; i < this.length; i++) {
    chr   = this.charCodeAt(i);
    hash  = ((hash << 5) - hash) + chr;
    hash |= 0; // Convert to 32bit integer
  }
 return hash;
};

但是,如果这对您没有帮助,则您的this library会与JS中的SHA-512,SHA-384,SHA-512 / 224,SHA-512 / 256哈希在一起