Javascript 打印散列值?
我试图打印出一个应用了sha256散列的int,但只在服务器日志中获取[object] 有没有关于如何打印/查看对象的想法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
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”),它将只打印出它的数据类型。