NodeJs crypto模块使用整理

一、crypto模块介绍

crypto npm地址:crypto - npm

当前模块的作者的源码已经停止更新下架,但是还是可以使用。

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

二、crypto常用加密

1.md5 加密

var crypto = require('crypto');  //引入crypto模块
var md5 = crypto.createHash('md5');  
var message = 'hello';
var digest = md5.update(message, 'utf8').digest('hex'); //hex转化为十六进制
console.log(digest);
// 输出如下:注意这里是16进制
// 5d41402abc4b2a76b9719d911017c592

2.Mac 加密

const crypto = require('crypto');
// 参数一:摘要函数
// 参数二:秘钥
let hmac = crypto.createHmac('md5', '123456');
let ret = hmac.update('hello').digest('hex');
console.log(ret);
// 9c699d7af73a49247a239cb0dd2f8139

.....等

三、crypto支持的Hash算法

Hash 类是用于创建数据哈希值的工具类。

查看 crypto 模块支持的 hash 函数:crypto.getHashes()

[ 'RSA-MD4',
  'RSA-MD5',
  'RSA-MDC2',
  'RSA-RIPEMD160',
  'RSA-SHA1',
  'RSA-SHA1-2',
  'RSA-SHA224',
  'RSA-SHA256',
  'RSA-SHA384',
  'RSA-SHA512',
  'blake2b512',
  'blake2s256',
  'md4',
  'md4WithRSAEncryption',
  'md5',
  'md5-sha1',
  'md5WithRSAEncryption',
  'mdc2',
  'mdc2WithRSA',
  'ripemd',
  'ripemd160',
  'ripemd160WithRSA',
  'rmd160',
  'sha1',
  'sha1WithRSAEncryption',
  'sha224',
  'sha224WithRSAEncryption',
  'sha256',
  'sha256WithRSAEncryption',
  'sha384',
  'sha384WithRSAEncryption',
  'sha512',
  'sha512WithRSAEncryption',
  'ssl3-md5',
  'ssl3-sha1',
  'whirlpool' ]

更多:

Nodejs axios模块使用整理

NodeJs 自定义日志记录工具分装_Nodejs 日志记录工具

Node js Http常用请求封装

你可能感兴趣的:(NodeJs,javascript,前端,NodeJs,crypto,crypto模块使用整理)