我有一个问题,使用AES解密缓冲对象,我希望有人有一个想法,我做错了什么...
我的例子:我有一个带有AES_ENCRYPT的MySQL表用于用户名和密码......
CREATE TABLE Accounts
(
id INT(4) NOT NULL AUTO_INCREMENT,
username VARBINARY(128) NOT NULL,
password VARBINARY(128) NOT NULL,
PRIMARY KEY(id)
);
DELIMITER |
CREATE TRIGGER encodeAccounts BEFORE INSERT ON Accounts
FOR EACH ROW BEGIN
SET NEW.username = AES_ENCRYPT(NEW.username, 'password');
SET NEW.password = AES_ENCRYPT(NEW.password, 'password');
END;
Run Code Online (Sandbox Code Playgroud)
Node.JS:我使用node-mysql模块向我的数据发送查询:
SELECT * FROM Accounts;
Run Code Online (Sandbox Code Playgroud)
为密码和用户名返回此类值:
<Buffer 07 86 95 ee 77 df 86 50 ae 18 4c d5 3e 48 42 75>
Run Code Online (Sandbox Code Playgroud)
如何使用Node.JS解密方法解码它?我的尝试都失败了...我希望AES-128-ECB正确选择......
在Node.JS中取消内容应该如下所示:
var decipher = crypto.createDecipher('AES-128-ECB', 'password');
var dec = decipher.update(rows[i].username); …Run Code Online (Sandbox Code Playgroud) 我对 Node.js 还很陌生,目前它非常棒。我在本地运行节点 (/w express) 时遇到了一个小问题 - 第 10 个请求之后的每个请求都会挂起,并在 Chrome 检查网络中标记为待处理。
至于模块,我使用 less-middleware、express、jade 和 MySQL,并且我只执行一个 SQL 查询(使用 mysql.createPool)。为什么此请求仍处于待处理状态?我该如何解决此问题?
由于我是 Node 的新人,我不确定我是否已经尝试过所有方法,因此我们将不胜感激!
我有一个 Node.JS 应用程序的配置文件(如下简化)
module.exports = function(){
var settings = {
port: '8088'
};
settings.mysql = {
host : 'localhost',
database : 'test'
};
// Override default settings
switch(process.env.NODE_ENV){
case 'production':
settings.port = 8082;
break;
case 'staging':
settings.port = 8083;
break;
}
return settings;
};
Run Code Online (Sandbox Code Playgroud)
当我启动 Express.js 应用程序时,我需要此文件进行一些基本设置:
var Config = require('./config'), settings = new Config();
var port = process.env.PORT || settings.port; // set our port
Run Code Online (Sandbox Code Playgroud)
稍后我还需要在 DAO 中(在我的模型中)使用此文件中的 MySQL 设置。此时我调用配置文件(它将再次运行它)
var Config = require('../config'), settings = new Config();
var mysql …Run Code Online (Sandbox Code Playgroud) 所以我有一个奇怪的问题。据我所知,node-mysql 应该将日期时间格式化为 javascript 日期对象。然而,事实并非如此。
这是列:mysql> select order_time from jobs;
+---------------------+
| order_time |
+---------------------+
| 2016-05-20 16:18:35 |
| 2016-05-20 16:24:47 |
Run Code Online (Sandbox Code Playgroud)
返回值如下所示:
2016-05-20T14:18:35.000Z
Run Code Online (Sandbox Code Playgroud)
但它应该是这样的:
Fri May 20 2016 14:18:35 GMT+0200 (Central Europe Daylight Time)
Run Code Online (Sandbox Code Playgroud)
关于为什么它会被错误格式化的任何想法?
所以我开始研究node-mysql,因为我的整个站点都是用PHP构建的,但是我想使用node/socket.io来顺利进行异步用户端更新.但是我在node-mysql中遇到了一个问题,我还没有得到答案.mysql服务器的登录信息如何不是公共信息?
根据文档https://github.com/felixge/node-mysql你连接到数据库就像这样
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
});
connection.connect();
connection.query('SELECT 1', function(err, rows, fields) {
if (err) throw err;
console.log('Query result: ', rows);
});
connection.end();
Run Code Online (Sandbox Code Playgroud)
那么是什么阻止用户将服务器文件放入导航栏并查看mysql服务器的登录信息?我对此非常困惑,有人可以向我解释一下吗?
我有两个node.js文件:server.js和database.js。我希望我的socket.io发出发生在server.js中,而数据库查询发生在database.js中。Server.js:
// init
io.sockets.on('connection', function(socket) {
initdb = db.initdb();
console.log(initdb)
});
Run Code Online (Sandbox Code Playgroud)
我的database.js基本上包含以下代码:
function query(queryString) {
connection = mysql.createConnection({
host: '12.23.45.67',
user: 'user',
password: 'password',
database: 'database'
});
connection.connect();
var res = connection.query(queryString, function(err, rows, fields) {
if (err) throw err;
});
connection.end();
}
// export initdb for external usage by server.js
exports.initdb = function() {
var initdb = query("SELECT * FROM columns;");
};
Run Code Online (Sandbox Code Playgroud)
我的问题是我希望将connection.query函数中的行对象返回给我的initdb函数。但是,我可以记录该对象的唯一位置是该函数内。如何传递查询结果,以便可以从server.js发出JSON对象?
我Node.js 0.10.31在Windows mySQL 5.5.35上运行,而我的虚拟机ubuntu在192.168.2.150上运行.现在要将节点js连接到mysql,我使用了以下连接器:
https://github.com/felixge/node-mysql
代码:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '192.168.2.150',
user : 'root',
password : '*****',
port : 3306
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
connection.query('SELECT 1', function(err, rows) {
// connected! (unless `err` is set)
console.log(err, rows);
});
Run Code Online (Sandbox Code Playgroud)
在my.cnf文件中bind address是0.0.0.0.而且,在用户表中我已经授予了所有数据库的权限root@192.168.2.150.但是,我仍然无法从节点连接到mysql,它会出现以下错误.我甚至尝试过Node js 0.8.2版本,但它仍然不起作用.任何人都可以指出错误吗?
错误:
error connecting: Error: ER_ACCESS_DENIED_ERROR: Access denied for user …Run Code Online (Sandbox Code Playgroud) 这个错误在mysql中是什么意思?
ER_NO_DEFAULT_FOR_FIELD –“字段没有默认值”我在这里找到它了吗?
http://mysqlserverteam.com/improvements-to-strict-mode-in-mysql/
并获得:
{
"code": "ER_NO_DEFAULT_FOR_FIELD",
"errno": 1364,
"sqlState": "HY000",
"index": 0
}
Run Code Online (Sandbox Code Playgroud)
通过expressjs在邮递员请求中回复,但这是我似乎从中得到的第一张桌子。该表具有外键,因此我为外键设置了默认值,但仍然可以得到它。是什么赋予了?index [0]表示名称,即我发送到服务器的第一个json值吗?
{
"name":"Cornwall Park Townhouses",
"line1":"17 Brewster Rd.",
"city":"Cornwall",
"state":32,
"zip":"12518",
"category":2,
"account_mgr":1,
"active":1
}
Run Code Online (Sandbox Code Playgroud)
这是我的json
我正在尝试使用express在节点中制作REST api。当我第一次在浏览器中打开URL时,它运行良好,并为我提供了正确的输出。但是,当我第二次点击api网址时,应用程序崩溃并显示以下错误:
events.js:141 throw er; //未处理的“错误”事件^
错误:调用退出后无法排队握手。
这是我正在使用的代码:
var express = require('express');
var mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host: 'localhost',
user: 'USER_NAME',
password: 'PASSWORD'
});
app.use(express.static(__dirname + '/public'));
var port = 3333;
app.get('/api/users/:user_id', function(req, res){
var lead_id = req.params.user_id;
connection.connect();
connection.query('use DB_NAME;', function (err) {
if(err) throw err;
connection.query('select * from users where user_id = ' + user_id, function (err, rows) {
if(err) throw err;
res.json(rows);
connection.end();
});
});
});
app.listen(port);
console.log("The app is …Run Code Online (Sandbox Code Playgroud) 我正在使用 node.js 和 puppeteer 来获取一些数据。...现在我想将获取的数据插入到数据库中...使用 mysql。下面似乎工作......但让我感到困惑的是在 console.log('DB 插入成功。记录:'+i); 总是落后,一段时间后它会停止......尽管仍有可用的记录表。
那是我的应用程序:
let tableCell01;
let tableCell01Val;
let tableCell02;
let tableCell02Val;
const tableRows = await page.$$('table.tableFile2 > tbody > tr');
for (let i=1; i < tableRows.length; i++){
tableRow = tableRows[i];
tableCell01 = await tableRow.$('td:nth-child(1) a');
tableCell01Val = await page.evaluate( tableCell01 => tableCell01.innerText, tableCell01 );
tableCell02 = await tableRow.$('td:nth-child(2)');
tableCell02Val = await page.evaluate( tableCell02 => tableCell02.innerText, tableCell02 );
tableCell02ValA.replace(/(^\s+|\s+$)/g,'');
console.log('\n');
console.log('ID: '+tableCell01Val);
console.log('Company: '+tableCell02Val);
console.log('Iterator: '+i);
const insertCompanyList = "INSERT INTO companyList ( company_name, …Run Code Online (Sandbox Code Playgroud) node-mysql ×10
node.js ×10
mysql ×8
javascript ×5
express ×2
json ×2
socket.io ×2
aes ×1
buffer ×1
performance ×1
puppeteer ×1
security ×1
sql ×1