我试图在Angular2 (Ionic2)中创建一个SHA512哈希,类似于PHP函数hash('sha512')
。
我刚刚尝试了crypto-js, crypto和js-sha512模块,但无论如何它总是像PHP一样是不同的哈希。
我还将字符串转换为十六进制与toString(CryptoJS.enc.Hex)
和toString('hex')
,但没有成功。
在PHP中:
NjAxODkwYWZkODA3MDkzMjgzYWQ1> Y2YwMTA2NGRiNGFlNWE0NTM1OWY3YTExMmJmNGIxNjhi
变成了正确的:
a2ea72e6c572ab957987a946a7a490c4ec93e7d0a7466e71b
但是在密码中它变成了:
eac7baac918158db69d81432037d2ef5f6327d9030e5d7a
您可以选择Node.js crypto
包。
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
的多边形