2
cryto.createHash SHA512我試圖得到相同的結果,我在http://jssha.sourceforge.net/與hexDigest輸入型
獲得其中
我有字有問題「測試」:對
var word = 'testing';
var hex = toHex(word); // '740065007300740069006e006700';
jssha當選擇input type
作爲十六進制的值爲hex
變量和SHA-512時,我得到以下結果:
6e42b2c2a6351036b78384212774135d99d849da3066264983e495b5f74dc922e3d361b8ea9c8527169757233ed0bd4e56b2c42aab0a21bbcca67219dc53b472
雖然我無法與nodejs crypto module達到相同的結果。
require('crypto').createHash('sha512').update(hex).digest('hex')
輸出:
9ad6d9053c6c420fe61ec2fffd094e3a325bc71708e18232fd764a5eb30315e38464e620ef0b55b92fbf6c809838652a72d9412b0398b28d61ca432962451de2
所以我想知道我怎麼能得到相同的結果jssha使用密碼模塊?在十六進制
感謝
感謝@thejh,似乎'新的緩衝區(「74657374696e67」,「六角」)'方法返回'未知encoding'我。另外,有沒有什麼辦法可以使用utf-16來代替8.對不起,我猜這是因爲它來自外部Web服務。 – zanona
@ludicco:當然,你可以用utf16十六進制字符串來做同樣的事情。 「未知編碼」是因爲您使用的是舊版本的節點,使用0.5.10並在可用時更改爲0.6.0。 – thejh
再次感謝@thejh,唯一的問題是這個實例在heroku上運行,恐怕他們現在只支持0.47?在這種情況下,我不確定您提到的方法是否可以工作?如果你對我如何完成這項工作有任何想法,那將非常感激;) – zanona