2016-11-03 64 views
0

我正在嘗試在Angular2(Ionic2)中創建SHA512哈希類似於PHP函數hash('sha512')

我只是想加密JS加密JS-SHA512模塊,但不管它是如何始終是一個不同的哈希像PHP。

我還將字符串轉換爲十六進制,並使用toString(CryptoJS.enc.Hex)toString('hex')但沒有成功。

在PHP中指出:

NjAxODkwYWZkODA3MDkzMjgzYWQ1> Y2YwMTA2NGRiNGFlNWE0NTM1OWY3YTExMmJmNGIxNjhi

成爲該如何右:

a2ea72e6c572ab957987a946a7a490c4ec93e7d0a7466e71b

但在加密它變成:

eac7baac918158db69d81432037d2ef5f6327d9030e5d7a

+0

歡迎來到SO。請看[旅遊](http://stackoverflow.com/tour)。您可能還想檢查[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)以​​及[如何提出一個好問題](http://stackoverflow.com/help/)如何提問)和[完美問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/),以及如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。發佈您嘗試過的代碼以及收到的錯誤。儘可能具體,因爲它會導致更好的答案。 –

回答

0

你行你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的polyfill。