如何使用Node.js中的另一个字符串连接buffer.toString()输出

我正在使用一个简单的套接字脚本来建立到我的战地英雄服务器的rcon连接。我需要从返回的数据中获取种子,然后将其与密码连接以用于创建我需要的登录哈希。但是字符串不会与普通的字符串方法连接。如果我单独输出字符串,它们显示正常,但它们不会合并,因此我可以对它们进行哈希处理。如何使用Node.js中的另一个字符串连接buffer.toString()输出

var net = require('net'); 

var crypto = require('crypto');

var md5sum = crypto.createHash('md5');

var HOST = '<ip address>', PORT = <port>,

PASSWORD = '<password>';

var client = new net.Socket();

client.connect(PORT, HOST, function() {

console.log('CONNECTED TO: ' + HOST + ':' + PORT);

});

client.on('data', function(data) {

console.log(data.toString());

response = data.toString();

if (data.toString().slice(0,10) == "### Digest") {

var seed = response.slice(17);

auth = seed.concat(PASSWORD);

console.log('auth: '+auth);

hash = require('crypto').createHash('md5').update(auth).digest("hex");

console.log(hash);

//client.write('login '+hash+' \n');

}

//client.destroy();

});

client.on('close', function() {

//do something on close

});

client.on('error', function(err) {

console.log(err);

});

回答:

我找到了适用于我的解决方案。不知道我是否在做这件事,但我决定将两个字符串传递给新的缓冲区。然后我将它们传递给一个数组来合并它们。 (耸肩)我认为它会做。有更好的解决方案

var net = require('net'); 

var crypto = require('crypto');

var md5sum = crypto.createHash('md5');

var HOST = '<ip address>', PORT = <port>,

PASSWORD = '<password>';

var client = new net.Socket();

client.connect(PORT, HOST, function() {

console.log('CONNECTED TO: ' + HOST + ':' + PORT);

});

client.on('data', function(data) {

console.log(data.toString());

response = data.toString();

if (data.toString().slice(0,10) == "### Digest") {

var a = new Buffer(response.slice(17));

var b = new Buffer(PASSWORD);

var auth = new Array();

auth += a.toString().replace(/\n/g,'');

auth += b.toString();

hash = require('crypto').createHash('md5').update(auth).digest("hex");

client.write('login '+hash+' \n');

}

//client.destroy();

});

client.on('close', function() {

//do something on close

});

client.on('error', function(err) {

console.log(err);

});

以上是 如何使用Node.js中的另一个字符串连接buffer.toString()输出 的全部内容, 来源链接: utcz.com/qa/266304.html

回到顶部