zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    例题3-6 环状序列UVa1584
    习题3-1 Score UVa1585
    Sublime Text3 Python虚拟环境(补充)——解决控制台中文乱码情况
    Cookie保存在本地方法介绍
    Multisim仿真
    小米手机安装charles证书
    【转】缓存
    【转】5种网络IO模型
    【转】分布式锁的几种使用方式(redis、zookeeper、数据库)
    【转】白话解析:一致性哈希算法(consistent hashing)
  • 原文地址:https://www.cnblogs.com/yaowen/p/7046827.html
Copyright © 2011-2022 走看看