nodejs crypto 加密 对称加密 非对称加密

本文介绍了Node.js的crypto模块,讲解了散列(Hash)算法、HMac算法,重点阐述了对称加密(AES)和非对称加密解密(RSA)的原理及实现,包括AES-256-CBC加密解密示例和RSA的使用。此外,还提及了签名和验证算法的应用。
摘要由CSDN通过智能技术生成

原文链接: nodejs crypto 加密 对称加密 非对称加密

上一篇: nodejs cluster 利用多核cpu

下一篇: VirtualBox 不能为虚拟电脑 [xxx] 打开一个新任务 已解决

nodejs 中的 crypto 模块提供了各种各样加密算法的 API。这篇文章记录了常用加密算法的种类、特点、用途和代码实现。其中涉及算法较多,应用面较广,每类算法都有自己适用的场景。为了使行文流畅,列出了本文记录的几类常用算法:

  • 内容摘要:散列 (Hash) 算法
  • 内容摘要:HMac 算法
  • 内容加解密:对称加密 (AES) 与非对称加密解密 (RSA)
  • 内容签名:签名和验证算法

散列 (Hash) 算法

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字 “指纹” 的方法。基本原理是将任意长度数据输入,最后输出固定长度的结果。

hash 算法具有以下特点:

  • 不能从 hash 值倒推原数据
  • 不同的输入,会有不同的输出
  • 好的 hash 算法冲突概率更低

正因为 hash 算法的这些特点,因此 hash 算法主要用于:加密、数据检验、版本标识、负载均衡、分布式(一致性 hash)。

下面实现了一个获取文件标识的函数:

const crypto = require("crypto");
const fs = require("fs");

function getFileHash(file, algorithm) {
    if (!crypto.getHashes().includes(algorithm)) {
        thro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值