NodeJs crypto加密制作token的实现代码


Posted in NodeJs onNovember 15, 2019

Node.js 内置的 Crypto 库 ,它提供各种加密算法,可以非常方便地让我们使用密码技术,解决应用开发中的问题。主要支持 hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及 verify(验证)等。crypto 英文原意就是秘密成员的意思。

使用方法大概如下:

crypto.createHash(algorithm) 指定使用的加密方式

var crypto = require("crypto");//加密
crypto.getHashes()

显示内部支持的加密方式。

  • hash.update(data) 指定要加密的内容(data)
  • hash.digest("hex") 指定加密的编码方式,可以为hex binary或者base64。

举个例子:

var crypto = require("crypto");//加密

var a = crypto.createHash("md5").update("12").digest('base64');
console.log(a)

加密结果为c20ad4d76fe97759aa27a0c99bff6710 对比使用 MD5 加密工具加密的相同

NodeJs crypto加密制作token的实现代码

二、制作 token

// //登陆
app.post("/login" , (req,res)=>{
  //处理post请求
  var form = new formidable.IncomingForm();
  form.parse(req, function(err, fields, files) {

    //判定是否正确登陆
    User.find({
      "username" : fields.username ,
      "password" : fields.password
    }).exec((err,docs)=>{

      if(docs.length){
        //登陆成功
        req.session.login = true;
        req.session.username = fields.username;

        var token = crypto.createHash("sha256").update(fields.username + fields.username).digest('hex');
        res.json({"result" : 1 , "token": token});
      }else{
        res.json({"result" : -1});
      }
    });
  });
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
轻松创建nodejs服务器(4):路由
Dec 18 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
轻松创建nodejs服务器(10):处理POST请求
Dec 18 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
nodejs基础知识
Feb 03 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 NodeJs
Nodejs异步流程框架async的方法
Jun 07 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
Dec 14 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 #NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 #NodeJs
nodejs实现UDP组播示例方法
Nov 04 #NodeJs
nodejs dgram模块广播+组播的实现示例
Nov 04 #NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 #NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 #NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 #NodeJs
You might like
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
python获取各操作系统硬件信息的方法
2015/06/03 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
替换python字典中的key值方法
2018/07/06 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
virtualenv介绍及简明教程
2020/06/23 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
生物制药专业自我鉴定
2014/02/19 职场文书
组织鉴定材料
2014/06/02 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
如何撰写促销方案?
2019/07/05 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js