node17

一、复习
cookie是在res中设置,req中读取的。第一次的访问没有cookie。
cookie的存储大小有限,kv对。对用户可见,用户可以禁用、清除Cookie、可以被篡改。
cookie用来制作记录用户的一些信息,必须购买历史、猜你喜欢。
HTTP是无状态的协议,所以两次的访问,服务器不能认识到是同一个客户端的访问,就要用cookie来巧妙的解决这个问题。
Session就是利用cookie,实现的“会话”。就是第一次访问的时候,可以在服务器上为这个用户缓存一些信息,别的用户是不能看见这个用户的信息的。服务器会下发一个秘钥(sessionid),客户端每次访问都携带这个秘钥,那么服务器如果发现这个秘钥吻合,就能够显示这个用户曾经保存的信息。
登陆就是用Session来制作的。任何语言的session都是透明的,不会体现cookie机理。
1var session = reqiure("express-session");
2
3app.use(session({
4    ..一些配置
5    ..一些配置
6    ..一些配置
7}));
8
9app.get("/",function(req,res){//cookie都是通过req设置读取的,其实不对的,应该是res来读取和设置cookie,
10    console.log(req.sission.login);
11});
12
13app.get("/login",function(req,res){
14     req.session.login = "1";
15});
都是使用req对象。

二、加密
永远不要用明码写密码。CSDN今年泄露用户密码了,并且泄露的明码。
黑客拿到的用户的密码的加密信息,所以也没用。因为他无法翻译成为明码。

MD5加密是函数型加密。就是每次加密的结果一定相同,没有随机位。
特点:
● 不管加密的文字,多长多短,永远都是32位英语字母、数字混合。
● 哪怕只改一个字,密文都会大变。
● MD5没有反函数破解的可能,网上的破解工具,都是通过字典的模式,通过大量列出明-密对应的字典,找到明码。两次加密网上也有对应的字典。所以我们不要直接用一层md5,这样对黑客来说和明码是一样。

MD5常用于作为版本校验。可以比对两个软件、文件是否完全一致。

node中自带了一个模块,叫做crypto模块,负责加密。

首先创建hash,然后update和digest:

var crypto = require("crypto");

console.log(md5(md5("123456").substr(11,7) + md5("123456")));  //2层加密

function md5(mingma){
    var md5 = crypto.createHash(‘md5‘);
    var password = md5.update(mingma).digest(‘base64‘);
    return password;
}
时间: 2024-10-11 22:37:38

node17的相关文章

ansys 常见命令集合

APDL换行与续行- APDL规定每行72个字符 如果要写表达式A=C1+C2 (C1与C2都为表达式 可以用 B=C1 A=B+C2 将一行拆成两行来做但是如果不是表达式,而是输入一个命令参数过多的话,可以用续行命令RMORE,格式如下: RMORE, R7, R8, R9, R10, R11, R12 这个命令每次也只能输入6个参数,如果多于6个,可以重复使用RMORE就可以输入13-18,19-24等等.另外,于上面续行相应的是换行,一行命令太短可以使用多个命令共一行 $",没有双引号.这

openstack内存占用清理

公司使用openstack定制开发了云桌面平台提供给客户使用,架构是3台控制节点+N台计算节点+N台CEPH+cinder.使用一直较为稳定,今天部份客户反映双击云主机图标无法进入云桌面.或者需要多次点击方可进入云桌面.经过检查是因为2台控制节点内存占用过高导致,需要清理.下面是详细操作过程. 1.查看控制节点内存占用 [[email protected] ~]# top top - 15:29:40 up 18 days, 17:15,  1 user,  load average: 1.27

Ubuntu 12.04 Openstack Essex 安装(单节点)

这是陈沙克一篇非常好的博文,当时在进行openstack排错的时候,多亏了这篇文章里面有些内容 帮我找到了问题的所在: 原文:http://www.chenshake.com/ubuntu-12-04-openstack-essex-installation-single-node/#Nova-volume =============以下是转载内容========================== 亲自测试,成功! 测试环境: esx5.0 虚拟机环境   修改配置虚拟机配置文件 在esxi

HtmlAgilityPack 之 HtmlNode类

HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 public static Dictionary<string, HtmlElementFlag> //ElementsFlags;获取集合的定义为特定的元素节点的特定行为的标志.表包含小写标记名称作为键和作为值的 HtmlElementFlags 组合 DictionaryEntry 列表. public static readonly string H

黄聪:HtmlAgilityPack教程案例

HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 public static Dictionary<string, HtmlElementFlag> //ElementsFlags;获取集合的定义为特定的元素节点的特定行为的标志.表包含小写标记名称作为键和作为值的 HtmlElementFlags 组合 DictionaryEntry 列表. public static readonly string H

MySQL深入利用Ameoba实现读写分离

3 ameoba安装配置 ? 3.1 安装配置JDK [[email protected] ~]# rpm -ivh jdk-7u67-linux-x64.rpm [[email protected] ~]# cd /usr/java/ ? 修改环境变量 ? [[email protected] ~]# vim /etc/profile.d/java.sh [[email protected] ~]# cat /etc/profile.d/java.sh export JAVA_HOME=/us

Nginx +keepalived

? 配置高可用的Nginx 准备环境: 节点node17,node18 ? lftp 172.16.0.1:/pub/Sources/6.x86_64/nginx ? [[email protected] ~]# rpm -ivh nginx-1.6.2-1.el6.ngx.x86_64.rpm ? [[email protected] ~]# scp -rp nginx-1.6.2-1.el6.ngx.x86_64.rpm node18:/root ? [[email protected] ~

Apache+lvs高可用+keepalive(主从+双主模型)

Apache+lvs高可用+keepalive(主从+双主模型)???? keepalive实验准备环境: httpd-2.2.15-39.el6.centos.x86_64 keepalived-1.2.13-1.el6.x86_64.rpm ? ? ???? 实验拓扑图: ? ? ? ? LVS+Keepalived 实现高可用的前端负载均衡器 ? node15: 1.安装httpd [[email protected] ~]# yum intsall -y httpd 2.配置httpd

在apache hadoop2.6 上部署hive 并将hive数据源存储于Mysql

集成hive 的前提是apache hadoop 集群能够正常启动. hadoop 版本 apach2.6.0  hive 版本:1.2.1 1.安装mysql 并赋予权限: 1.1:创建hive 用户和密码: Create user  ‘hive’ identified by ‘123456’ 1.2:创建数据库:create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 1.3:授权允许远程登陆:grant all p