npm i express #node后端框架
npm i cors
npm i mysql
const app = require('express')();
const cors = require('cors');
const port = 5000;
const mysql = require('mysql') //引入mysql 模块
app.use(cors({}))
const conn = mysql.createConnection({
user: 'root',
password: 'qwertyuiop1',
//password: '123456',
host: 'localhost',
database: 'learn_test'
})
app.get('/',(req,res)=>{
// 测试连接
conn.connect(err=>{
console.log(err,'如果为null 就是连接成功');
})
res.send("")
})
app.listen(port,()=>{
console.log(`${port}端口已监听`)
})
访问http://localhost:5000
error: er_not_supported_auth_mode: client does not support authentication protocol requested by server; consider upgrading mysql client
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你想要的密码';
FLUSH PRIVILEGES;
创建一张表
create table users(
uid int(20)not null unique auto_increment, #unique唯一约束,auto_increment:自增
name varchar(255) not null,
pwd varchar(255)not null);
const app = require('express')();
const cors = require('cors');
const port = 5000;
const mysql = require('mysql') //引入mysql 模块
app.use(cors({}))
const conn = mysql.createConnection({
user: 'root',
password: 'qwertyuiop1',
//password: '123456',
host: 'localhost',
database: 'learn_test'
})
// 测试连接
conn.connect(err=>{
console.log(err,'如果为null 就是连接成功');
})
app.get('/',(req,res)=>{
let sqlStr = `insert into users(name,pwd) values('${req.query.name}','${req.query.pwd}')`
conn.query(sqlStr,(err)=>{
if(err != null){
console.log(err)
}else {
console.log("")
}
})
res.send("插入成功")
})
app.listen(port,()=>{
console.log(`${port}端口已监听`)
})
需要的情况下
#查询表结构
desc 表名;
#删除表
drop table 表名;
node查询mysql
app.get('/selectUsers',(req,res)=>{
let sqlStr = `select * from users`;
conn.query(sqlStr,(err,results)=>{
if(err != null){
res.send(err)
}else {
res.send(results)
}
})
})
nodejs+rsa加密
npm i node-rsa
创建实例
var NodeRSA = require (' node-rsa ');
var key = new NodeRSA([ keyData ,[ format ] ],[ options ] );
keyData - {string|buffer|object}用于生成密钥或以支持的格式之一生成密钥的参数。
format - {string}导入密钥的格式。查看有关导出/导入部分格式的更多详细信息。
options - {object}- 其他设置。
创建“空”键
var key = new NodeRSA();
生成新的512位长度密钥
var key = new NodeRSA({ b :512 });
导入/导出密钥
/*实例*/
var publicDer = key.exportKey('public');
var privateDer = key.exportKey('private');
console.log('公钥:',publicDer);
console.log('私钥:',privateDer);
key.importKey(result[1], 'private');
/*语法*/
key.importKey(keyData, [format]);
key.exportKey([format]);
keyData - {string|buffer}- 可能是:
键入PEM字符串
包含PEM字符串的缓冲区
包含DER编码数据的缓冲区
对象包含关键组件
format - {string}- 用于导出/导入的格式ID。
加密/解密
/*加密*/
key.encrypt(buffer, [encoding], [source_encoding]);
key.encryptPrivate(buffer, [encoding], [source_encoding]); // 使用私钥进行加密
/*解密*/
key.decrypt(buffer, [encoding]);
key.decryptPublic(buffer, [encoding]); // 使用公钥解密
/*实例*/
var encryData = key.encryptPrivate(req.body.user_pwd, 'base64','utf8');
console.log('加密后的数据',encryData);
var decryptData = key.decryptPublic(result[0],'utf8');
console.log('解密后的数据',decryptData);