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);