Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 打印散列值?_Javascript_Meteor_Hashcode - Fatal编程技术网

Javascript 打印散列值?

Javascript 打印散列值?,javascript,meteor,hashcode,Javascript,Meteor,Hashcode,我试图打印出一个应用了sha256散列的int,但只在服务器日志中获取[object] 有没有关于如何打印/查看对象的想法 Meteor.methods({ twilioTest:function () { console.log("Twilio Test Called!"); // Get time for 2fa code var d = new Date(); var seconds = d.getTime() / 1000; seconds = par

我试图打印出一个应用了sha256散列的int,但只在服务器日志中获取[object]

有没有关于如何打印/查看对象的想法

Meteor.methods({
twilioTest:function () {

console.log("Twilio Test Called!");

    // Get time for 2fa code
    var d = new Date();
    var seconds = d.getTime() / 1000;
    seconds = parseInt(seconds);

    // Get large random int
    var largeInt = Math.floor(Math.random() * (999999999 - 99999999999999999) + 99999999999999999);

    console.log("seconds value: " + seconds);
    console.log("largeInt value: " + largeInt);

    // Combine the values
    var combined = seconds + largeInt;

    console.log("combined value: " + combined);

    // Hash the value
    combined = Meteor.call('generateHash',combined);
    console.log("combined value HASHED: " + combined);

},

generateHash: function(val){
    check(val, Match.Any);
    var hash = 0;

    var crypto = Npm.require('crypto');
    var key = 'abc123';

    hash = crypto.createHmac('sha256', key);

    return hash;
}
});
call()不会以您期望的方式返回值;您需要检查回调。使用类似以下内容:

Meteor.call('generateHash', function(error, hash) {
    if (error) {
        console.log(error);
    } else {
        console.log(hash);
    }
});
call()不会以您期望的方式返回值;您需要检查回调。使用类似以下内容:

Meteor.call('generateHash', function(error, hash) {
    if (error) {
        console.log(error);
    } else {
        console.log(hash);
    }
});

我的问题是我散列值的方式。首先,我确保将我的int类型转换为字符串,然后这就是哈希的生成方式:

generateHash: function(val){
    check(val, Match.Any);
    var hash = 0;

    var crypto = Npm.require('crypto');
    var key = 'abc123';

    hash = crypto.createHmac('sha256', key).update(val).digest('hex') // This line is key

    return hash;
}

我的问题是我散列值的方式。首先,我确保将我的int类型转换为字符串,然后这就是哈希的生成方式:

generateHash: function(val){
    check(val, Match.Any);
    var hash = 0;

    var crypto = Npm.require('crypto');
    var key = 'abc123';

    hash = crypto.createHmac('sha256', key).update(val).digest('hex') // This line is key

    return hash;
}

尝试
JSON.stringify
将该对象放入控制台,查看它是否包含具有所需值的属性。并检查此对象是否提供了输出字符串值的方法。肯定有一个。我试了一下,结果是:“{”_binding:{}}}”对此非常困惑…你知道你不是在创建散列值,对吗?除此之外,你们得到的是一个对象,因为
crypto.createHmac
创建了一个hmac对象……对不起,我对meteor还很陌生。关于如何正确地散列该值有什么建议吗?请注意,使用console.log(foo),其中foo是您的对象,它将为您字符串化json。如果执行console.log(“这是foo的值:“+foo”),它将只打印出它的数据类型。尝试
JSON。将该对象字符串化到console中,并查看它是否包含具有所需值的属性。并检查此对象是否提供了输出字符串值的方法。肯定有一个。我试了一下,结果是:“{”_binding:{}}}”对此非常困惑…你知道你不是在创建散列值,对吗?除此之外,你们得到的是一个对象,因为
crypto.createHmac
创建了一个hmac对象……对不起,我对meteor还很陌生。关于如何正确地散列该值有什么建议吗?请注意,使用console.log(foo),其中foo是您的对象,它将为您字符串化json。如果执行console.log(“这是foo的值:+foo”),它将只打印出它的数据类型。