美文网首页
Node crypto模块简单探究

Node crypto模块简单探究

作者: 弱冠而不立 | 来源:发表于2020-09-19 14:39 被阅读0次

crypto 模块提供了加密功能,包括对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装。

使用 require('crypto') 来访问该模块。

首先明确一个概念:摘要(digest)

摘要(digest):将长度不固定的消息作为输入,通过运行hash函数,生成固定长度的输出,这段输出就叫做摘要。通常用来验证消息完整、未被篡改。
摘要运算是不可逆的。也就是说,输入固定的情况下,产生固定的输出。但知道输出的情况下,无法反推出输入。

使用 update()digest() 加密:

  • hash 算法下的 md5 和 sha1 加密
const crypto = require("crypto");
let data = "Hello World!"
const hashMD5 = crypto.createHash("md5"); //也可以将参数改成 sha1 就是 sha1 加密算法,还可以改成 sha256

hashMD5Data = hashMD5.update(data,"utf8").digest("hex"); //这里的摘要是 16 进制的,也可以改成 base64 格式
console.log(hashMD5Data);
一般就是将加密后的数据存储进数据库,每次都是验证加密后的数据,用于保证数据传输和存储过程中的可靠
  • 创建加密的 HMAC 摘要
let data = "Hello World!";

const hmacSha256 = crypto.createHmac("sha256","密钥");  //第二个参数可根据实际密钥填写进行加密

hmacSha256.update(data);
hmacSha256Data = hmacSha256.digest('base64');  // 生成 base64 格式的摘要,也可向上面那样生成 hex(16进制的)
console.log(hmacSha256Data);

相关文章

  • Node crypto模块简单探究

    crypto 模块提供了加密功能,包括对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套...

  • nodejs之RSA加密/签名

    密钥对生成 使用内置模块crypto从 node.js 的 v10.12.0 开始,可以使用内部模块 crypto...

  • 前端安全

    一:加密安全 1、Crypto Node.js 的crypto模块封装了诸多的加密功能, 包括 OpenSSL 的...

  • node内置模块

    crypto 模块 node.js 提供这个模块用于数据加密 md5加密 varcrypto =require('...

  • Node加密模块----crypto

    在JS中引入 AES 加密,新建encode.js,方便以后调用,这个文件存放所有加密的函数 解密,新建decod...

  • node的crypto模块

    crypto的目的是提供通用的加密和哈希算法,javascript可以实现,但速度很慢,node使用了c/c++实...

  • nodejs几种安全相关问题

    最近在看nodejs的相关东西,下面总结下几种安全问题: Crypto Node.js 的crypto模块封装了诸...

  • crypto-js and native nodejs modu

    native node crypto crypto-js

  • node.js_crypto 模块

    Hash 算法 查看 crypto 模块支持的 hash 函数:crypto.getHashes() SHA-25...

  • 内置模块:crypto加密模块

    1. crypto加密模块 crypto模块的目的就是为了去提供一个通用的加密哈希算法。实际上,crypto模块是...

网友评论

      本文标题:Node crypto模块简单探究

      本文链接:https://www.haomeiwen.com/subject/zisjyktx.html