Node.js 内置模块crypto加密模块(3) HMAC

HMAC:哈希消息认证码 ( Hash-based Message Authentication Code )

HMAC是密钥相关的哈希算法

使用 HMAC 进行加密的Node实现的一种方法:

"use strict";
const crypto = require("crypto");//实例化一个hmac对象,使用md5进行加密,加密密钥是secret-key
const hmac = crypto.createHmac("md5", "secret-key");//使用hmac的update方法添加需要加密的内容
hmac.update("This is what needs to be encrypted");//将加密内容转换成十六进制数,并在控制台打印
console.log(hmac.digest("hex"));

注:

1.使用hmac加密是需要密钥的;

2.密钥在crypto的createHmac方法的第二个参数传入;

3.密钥不同,经过加密得到的结果就不同

4.使用hmac对数据进行加密的 其它方法

原文地址:https://www.cnblogs.com/hros/p/10997073.html

时间: 2024-11-08 21:55:17

Node.js 内置模块crypto加密模块(3) HMAC的相关文章

Node.js 内置模块crypto加密模块(2) AES

AES:高级加密标准 ( Advanced Encryption Standard ) AES是一种对称加密算法:加密需要密钥,且加密密钥和解密密钥相同 下面是AES加密的Node实现: "use strict"; const crypto = require("crypto"); //封装使用AES加密的方法 function aesEncrept(data, key){ //实例化一个cipher加密对象,使用aes192进行加密,key作为密钥 const c

Node.js 内置模块crypto加密模块(1)md5和shax

MD5:消息摘要算法(Message-Digest Algorithm) SHA家族:安全散列算法( Secure Hash Algorithm ) 1.首先看一个简单的加密 "use strict"; //引入crypto模块const crypto = require("crypto"); //创建一个使用md5加密的hash对象,也可以使用sha1.sha256.sha512加密let hash = crypto.createHash("md5&qu

Node.js 内置模块fs的readdir方法 查看某个文件夹里面包含的文件内容

fs.readdir(path[, options], callback) 例: "use strict";const fs = require("fs");const path = require("path"); //获取当前文件所在的绝对路径let filepath = path.resolve();fs.readdir(filepath, "utf-8", function(err, files){ if(err) {

记一次在node.js中使用crypto的createCipheriv方法进行加密时所遇到的坑

Node.js的crypto模块提供了一组包括对OpenSSL的哈希.HMAC.加密.解密.签名,以及验证等一整套功能的封装.具体的使用方法可以参考这篇文章中的描述:node.js_crypto模块. 本文重点介绍在使用createCipheriv方法时所遇到的坑.对应的解密算法createDecipheriv应该是一样的问题. 按照文档中的描述,createCipheriv方法接受三个参数:algorithm用于指定加密算法,如aes-128-ecb.aes-128-cbc等:key是用于加密

Node.js区块链开发 随笔

本书主要讲述了区块链的基础一集js开发工程师如何开发区块链,不仅仅是互联网思维,调用api文档进行开发,而是在基础之上进行的拓展式的开发. 本书主要讲述了,加密货币的一些特征,以及node.js的基础,服务启动如何与链进行交互,以及node.js在区块链技术领域的调查描述,并进行了案例示范,其次对源码进行解读.从架构设计的角度,层层剖析区块链的设计原理,深刻解读相关概念和技术.从项目设计的角度谋篇,从项目入口程序出发,介绍了亿书项目的整体结构,分别介绍了P2P网络.加密解密.签名和多重签名.区块

Node.js开发入门—HTTP文件服务器

HelloWorld示例只有演示意义,这次我们来搞一个实际的例子:文件服务器.我们使用Node.js创建一个HTTP协议的文件服务器,你可以使用浏览器或其它下载工具到文件服务器上下载文件. 用Node.js实现的HTTP文件服务器,比我在Qt网络编程实战之HTTP服务器视频课程里用Qt实现的版本,复杂度要小太多太多了. 为了读取文件,我们会用到File System模块(名字是"fs"),Stream,我们还要分析URL,区别HTTP方法,还会用到EventEmitter. 文件服务器

node.js入门学习(四)--Demo模块化改造

1.node.js中模块的分类 1)node.js内置模块(核心,原生) 所有内置模块在安装node.js时就已经编译成二进制文件,可以直接加载运行(速度较快),部分内置模块,在node.exe这个进程启动时就已经默认加载了,可以直接使用. 2)文件模块 require(./common.js); // 去当前js文件的路径下找commom.js文件并导入执行.如果导入时没有指定文件后缀require(./commom),那么就按照commom.js,common.json,commom.nod

详解Node.js API系列 Crypto加密模块(1)

MD5加密算法 算法简介 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要

JavaScript简明教程之Node.js

Node.js是目前非常火热的技术,但是它的诞生经历却很奇特. 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准. 后来,微软通过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步.(2001年推出的古老的IE 6到今天仍然有人在使用!) 没有竞争就没有发展.微软认为IE6浏览器已经非常完善,几乎没有可改进之处,然后解散了IE6开发团队!而Google却认为支持现代Web应用的新一代浏览器才刚刚起步,尤其是浏