我正在将php脚本转换为Java脚本,一切都很好,除了找不到一个简单的js函数(该函数需要一个字符串并输出一个类似于php的hash()函数的SHA-512哈希十六进制字符串)。
这是一个非常老套的事情,需要用户输入文本并使用哈希来生成“随机图”,因此我并不真正关心哈希函数的安全性
我发现:
Formatters
但是不会产生我期望的漂亮的十六进制字符串。我发现了另一个将摘要转换为十六进制字符串的循环,但这很丑陋,我希望只是缺少一个简单的函数。
谢谢!
答案 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哈希在一起