Javascript:SHA512值转换为JSON对象

Javascript:SHA512值转换为JSON对象,javascript,json,ionic-framework,Javascript,Json,Ionic Framework,我已经将变量“getShaValue”加密到sha512。然后使用JSON.stringify将其与许多变量(如“name”、“ic”)组合。但是当我调试JSON对象时,SHA512的值没有显示正确的值。如果我只在将值转换为JSON之前调试它,它将显示正确的值 下面是我对值进行加密的函数 self.sha512 = function () { var value = self.generateSHAvalue(); var getShaValue= CryptoJS.SHA5

我已经将变量“
getShaValue
”加密到sha512。然后使用
JSON.stringify
将其与许多变量(如“name”、“ic”)组合。但是当我调试JSON对象时,SHA512的值没有显示正确的值。如果我只在将值转换为JSON之前调试它,它将显示正确的值

下面是我对值进行加密的函数

  self.sha512 = function () {
    var value = self.generateSHAvalue();
    var getShaValue= CryptoJS.SHA512(value);
    return getShaValue;
};
我把它和许多变量结合起来

var authToken = SHA.sha512();
var requestData = JSON.stringify({
   name: "Test", 
   authToken: authToken
})
console.log("requestData: " + JSON.stringify(requestData));
控制台的结果是

{
   "name": "Test",
   "authToken": '"$super":{"$super":{}},"words":[1157899753,2720090447,1588426441,2244605341,2288345873,3771352114,2976397435,3171064119,-130018106,2601059156,3822838925,2519334849,1988499628,2785343384,-556559616,-1270654637],"sigBytes":64'
}
但应该是这样的:

{
   "name": "Test",
   "authToken": "21507C7061D3F45058A95751E2FB332DD68F6A2ADC2039DE4341199643E12ADEFB8DF603C3F 34E71FB447F46B82BC5DC7BD2B81B83B389D8950583BEFB424676"
}

有人能帮我吗。谢谢。

您在json中包含了二进制摘要。首先尝试将其转换为十六进制:

self.sha512 = function () {
  var value = self.generateSHAvalue();
  var shaHex = CryptoJS.SHA512(value).toString(CryptoJS.enc.Hex);
  return shaHex ;
};