PHP哈希值('sha512',$x)在Node.js (Angular2, Ionic2)中等效


PHP hash('sha512',$x) equivalent in Node.js (Angular2, Ionic2)

我试图在Angular2 (Ionic2)中创建一个SHA512哈希,类似于PHP函数hash('sha512')

我刚刚尝试了crypto-jscryptojs-sha512模块,但无论如何它总是像PHP一样是不同的哈希。

我还将字符串转换为十六进制与toString(CryptoJS.enc.Hex)toString('hex'),但没有成功。

在PHP中:

NjAxODkwYWZkODA3MDkzMjgzYWQ1> Y2YwMTA2NGRiNGFlNWE0NTM1OWY3YTExMmJmNGIxNjhi

变成了正确的:

a2ea72e6c572ab957987a946a7a490c4ec93e7d0a7466e71b

但是在密码中它变成了:

eac7baac918158db69d81432037d2ef5f6327d9030e5d7a

您可以选择Node.js crypto包。

PHP:

hash('sha512', 'hello');
JavaScript:

const crypto = require("crypto")
const hash = crypto.createHash("sha512")
hash.update("hello world") // Hash the input
hash.digest("hex")         // Return it as a hex string

如果你需要在浏览器中运行这段代码,你可以通过browserify或webpack来捆绑它。这两个工具将使用crypto的多边形