我试图获得与我获得的相同结果http://jssha.sourceforge.net/ http://jssha.sourceforge.net/
where
我有问题的是“测试”这个词:
var word = 'testing';
var hex = toHex(word); // '740065007300740069006e006700';
选择时在jssha上input type
作为十六进制值hex
变量和 SHA-512 我得到以下结果:
6e42b2c2a6351036b78384212774135d99d849da3066264983e495b5f74dc922e3d361b8ea9c8527169757233ed0bd4e56b2c42aab0a21bbcca67219dc53b472
虽然我无法达到相同的结果Nodejs 加密模块 http://nodejs.org/docs/v0.4.12/api/crypto.html.
require('crypto').createHash('sha512').update(hex).digest('hex')
outputs:
9ad6d9053c6c420fe61ec2fffd094e3a325bc71708e18232fd764a5eb30315e38464e620ef0b55b92fbf6c809838652a72d9412b0398b28d61ca432962451de2
所以我想知道如何才能得到与jssha http://jssha.sourceforge.net/使用加密模块?
Thanks
如果您使用 utf8,则十六进制的“testing”是 74657374696e67,这几乎是标准的。 toHex 方法返回的内容假定为 utf16。
对于该哈希值,该网站表示:
521b9ccefbcd14d179e7a1bb877752870a6d620938b28a66a107eac6e6805b9d0989f45b5730508041aa5e710847d439ea74cd312c9355f1f2dae08d40e41d50
在 node.js 中执行此操作以散列十六进制字符串:
require('crypto').createHash('sha512').update(
new Buffer("74657374696e67", "hex")
).digest('hex')
节点给你相同的哈希值。哦,这也给你相同的哈希值:
require('crypto').createHash('sha512').update("testing").digest('hex')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)