简介MD5(Message-Digest Algorithm)是计算机安全领域广泛使用的散列函数(又称哈希算法、摘要算法),主要用来确保消息的完整和一致性。常见的应用场景有密码保护、下载文件校验等。本文先对MD5的特点与应用进行简要概述,接着重点介绍MD5在密码保护场景下的应用,最后通过例子对MD5碰撞进行简单介绍。特点运算速度快:对jquery.js求md5值,57254个字符,耗时1.907ms输出长度固定:输入长度不固定,输出长度固定(128位)。运算不可逆:已知运算结果的情况下,无法通过通过逆运算得到原始字符串。高度离散:输入的微小变化,可导致运算结果差异巨大。弱碰撞性:不同输入的
1、普通字符串//编码new Buffer(String).toString('base64');//解码new Buffer(base64Str, 'base64').toString();2、十六进制Hex//编码new Buffer(String, 'base64').toString('hex');//解码new Buffer(base64Str, 'hex').toString('utf8');3、图片const fs = require('fs');//编码functio
以前,Promise库有promise,Q,bluebird等,后来,ES6中也新增了原生Promise。Promiss/A+规范 https://promisesaplus.com/An open standard for sound, interoperable JavaScript promises—by implementers, for implementers.一个健全的通用JavaScript Promise开放标准,源于开发者,并归于开发者function test(resolve, reject) {
var time = Math.random();
i
##场景远古时代我们在编写express后台,经常要有许多异步IO的处理。在远古时代,我们都是用chunk函数处理,也就是我们最熟悉的那种默认第一个参数是error的函数。我们来模拟一个Mongo数据库的操作,感受一下。mongoDb.open(function(err, db){
if(!err){
db.collection("users", function(err, collection){
if(!err){
let person = {name: &q
Express 是一个基于 Node.js 的 web 应用框架,它简化了 web 应用的开发过程。中间件是 Express 应用程序的核心特性,它们是请求处理链中的函数,可以执行各种任务,如响应处理、路由、错误处理等。下面是一个关于如何在 Express 中使用中间件的简明教程。
1. 安装 Express
首先,确保你已经安装了 Node.js。然后,在命令行中创建一个新的项目目录,并初始化 npm:
Bash
mkdir myapp
cd myapp
npm init -y
接着,安装 Express:
Bash
npm install express
2. 创建基本的 Expres
nodemon
nodemon 是一个工具,用于项目代码发生变化时可以自动重启,nodemon 本意时检测项目变化的,对项目做监控的。重启只是它的一个功能。
install
安装 nodemon 需要使用 npm,没有安装 npm 的请看 node.js 安装
npm install -g nodemon
或则安装在本地
npm install nodemon --save
配置
在项目目录下创建 nodemon.json 文件
{
"restartable": "rs",
"ignore": [
".git",
".svn",
"node_modules/**/node_modules"
开始的时候这样使用axios,无法在express的req.body中正常获取。this.$ajax({
method: 'post',
url: this.server_path+'/user/public/login',
data: {
name: 'wise',
info: 'wronghan'
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.t
在Express.js中,静态文件服务是一个非常常用的功能,它允许你的应用程序提供静态资源,如HTML、CSS、JavaScript文件、图片等,而无需为每个文件编写单独的路由处理程序。要实现这一点,你可以使用express.static中间件。
如何使用
首先,确保你已经安装了Express。如果还没有安装,可以通过npm进行安装:
npm install express
然后,在你的Express应用中,使用express.static来指定一个或多个静态资源目录。以下是一个简单的示例:
const express = require('express');
const app =
安装$ npm install mysql
引言这是node.js的mysql驱动。它是用JavaScript编写的,不需要编译,完全遵循MIT许可协议。下面是一个如何使用它的例子:var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
connecti
安装$ npm install ejs特性 % % 用于控制流 %= % 用于转义的输出 %- % 用于非转义的输出-% 结束标签用于换行移除模式带有 %_ _% 的控制流使用空白字符移除模式自定义分隔符 (例如,使用 ' ? ? ' 代替 ' % % ')包含客户端支持中介JavaScript的静态缓存模板的静态缓存与 Express 视图系统兼容示例 % if (user) { % h2 %= user.name % /h2 % } % 用法var template = ejs.compile(str, options);templa
1、路由实现方式和顺序express框架创建的模板app,js中默认代码var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var app = express();
// all environ
为了方便,Node为每个模块提供一个exports变量,指向 module.exports。在 exports 对象上添加变量和方法,等于在 module.exports 上添加。相当于在模块的开头添加了:var exports = module.exports
这样做会导致 module.exports 和 exports 是有些区别,只能向 exports 对象上添加变量和方法。不能直接指向一个值。比如:exports = "Node.js";
不等于module.exports = "Node.js";
因为直接将 exports 变量指向一个值,就切断了 exports 与 m
nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台。前端的可能性,从此更加具有想象空间。
随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具,极大地便利了我们的开发工作,很有必要了解一下。
NPM是什么
NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。1、npm install moduleNames:安装Node模块安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。npm install koa
默认会安装 koa 的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install koa@2.0
将包安装到全局环境中npm install -g
但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。
镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):
1.通过config命令npm config set registry https://registry.npmmirror.comnpm info underscore (如果上面配置正确这个命令会有字符串response)
2.命令行指定npm --registry https://registry.npm.taobao.org info underscore
3.编辑 ~/.npmrc 加入下面内容registry = https://registry.npmmirror.com
查看配置
首先项目中,需要安装mysql模块:npm install --save-dev mysql然后就可以使用一下代码了:var mysql = require('mysql');
var database = {
host: '127.0.0.1',
user: 'root',
password: 'root',
database: '8081', // 前面建的user表位于这个数据库中
port: 3306
Express 是一个基于 Node.js 的 web 应用程序框架,它提供了一系列强大特性来简化 web 应用的开发,其中路由系统是其核心组件之一。Express 的路由允许你定义如何响应客户端对不同 URL 和 HTTP 方法(如 GET、POST 等)的请求。下面是一些基础概念和使用示例:
基础路由设置
在 Express 中,你可以直接在应用级别定义路由,或者通过 express.Router 创建模块化的、可重用的路由处理器。
应用级别路由
const express = require('express');
const app = express();
// 定义一个 GET
如果你想不使用Express生成器从零开始手动创建一个Express应用,这也是完全可以的。下面是一个基本的手动设置步骤:
1. 初始化项目和安装Express
首先,在你希望存放项目的文件夹下,打开终端或命令提示符,初始化一个新的Node.js项目,并安装Express作为依赖:
mkdir myManualExpressApp
cd myManualExpressApp
npm init -y
npm install express
2. 创建服务器
在项目根目录下,创建一个名为app.js的文件,这将是你的应用程序的主要入口点。打开这个文件,然后输入以下代码来设置一个基本的Expre
Express 是一个开源的、基于 Node.js 的 web 应用开发框架,由 TJ Holowaychuk 创建并由 StrongLoop(现属于 IBM)维护。它是 Node.js 生态系统中最为广泛使用的 web 框架之一,特别适合构建单页应用、RESTful API 以及任何规模的 web 服务。
核心概念
1. 路由(Routing)
Express 提供了强大而灵活的路由系统,允许开发者定义端点(Endpoints)来处理不同类型的 HTTP 请求(GET、POST、PUT、DELETE 等)。这使得构建 RESTful 风格的 API 成为可能,同时保持代码结构清晰和易于理解。
安装npm install apidoc -g
配置文件在运行命令的为止增加一个 apidoc.json 文件。{
"name": "RESTful API 文档",
"version": "3.1.0",
"description": "这是 RESTful API 文档的描述",
"title": "RESTful API 文档的标题",
"url": "http://127.0.0.1:8089",
"template": {
"forceLanguage": "zh_cn",
"withCompare": true,
所有标签