网页抓取 加密html(一个加密模块Crypto示例.js示例 )
优采云 发布时间: 2022-04-19 13:04网页抓取 加密html(一个加密模块Crypto示例.js示例
)
当我们提交表单时,如密码等敏感信息,如果我们不对其进行加密,我们将不会认真对待用户的隐私信息。Node.js 提供加密模块 Crypto
让我们用一个例子
1.打开usecrypto.js,修改代码如下:我们提交表单的时候,比如密码等敏感信息,如果不加密,是不重视用户隐私信息的. Node.js 提供了一个加密模块 Crypto
让我们用一个例子
1.打开usecrypto.js,修改代码如下:
var express = require('express');var router = express.Router();var crypto = require('crypto');/* GET home page. */router.get('/', function(req, res) { res.render('usecrypto', { title: '加密字符串示例' }); });router.post('/',function(req, res){ var userName = req.body.txtUserName, userPwd = req.body.txtUserPwd; //生成口令的散列值 var md5 = crypto.createHash('md5'); //crypto模块功能是加密并生成各种散列 var en_upwd = md5.update(userPwd).digest('hex'); console.log('加密后的密码:'+en_upwd); res.render('usecrypto', { title: '加密字符串示例' });});module.exports = router;
2.打开usecrypto.ejs,修改代码如下
用户名: 密码:
3.运行,输入并提交表单,查看控制台输出
成功MD5方式加密! 其中用到了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对象将不可用;