express 字符串加密 crypto

为什么要加密?
如当我们提交表单后,如果不把密码这些敏感信息处理下,会有很大的风险,所以,要进行加密处理。Node.js提供了一个加密模块:crypto

使用

示例:

//user.js

var express = require('express');
var router = express.Router();
var crypto = require('crypto');

/* GET home page. */
router.get('/', function(req, res) {

  res.render('user', { title: '加密字符串示例' });

});

router.post('/',function(req, res){
  var 
  userName = req.body.userName,
  userPwd = req.body.userPwd;

  //生成口令的散列值
  var md5 = crypto.createHash('md5');   //crypto模块功能是加密并生成各种散列,此处所示为MD5方式加密
  var end_paw= md5.update(userPwd).digest('hex');//加密后的密码

  console.log('加密后的密码:'+en_upwd);

  res.render('user', { title: '加密字符串示例' });
});

module.exports = router;
//user.ejs
<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>     
      <% include nav %>

      <form method="post">
          用户名:<input type="text" id="userName" name="userName" />
          密码:<input type="password" id="userPwd" name="userPwd" />
          <input type="submit" value="提交">
      </form>
  </body>
</html>

方法说明:

createHash(algorithm)方法 ,是利用给定的算法生成对应的hash对象。
Node.js提供的加密模块功能非常强大,Hash算法就提供了MD5、sha1、sha256等算法。 update(data,
[input_encoding])
方法,可以通过指定的input_encoding和传入的data数据更新hash对象,input_encoding为可选参数,没有传入则作为buffer处理
(input_encoding可为’utf-8’、’ascii’等)。
digest([encoding])方法,计算数据的hash摘要值,encoding是可选参数,不传则返回buffer
(encoding可为 ‘hex’、’base64’等);当调用digest方法后hash对象将不可用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值