- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - 加密
在 Node.js 中,crypto 是一个内置模块,提供必要的加密功能,以将安全方面整合到项目中,例如加密、解密、哈希函数等等。此模块依赖于 OpenSSL 进行其加密操作。
密码学是将数据转换成只有满足某些预定条件的用户才能理解的形式的过程。
密码学不仅仅是关于编码和解码消息,它是在日益全球化的环境中确保信息保持私密、完整和真实的。
Crypto 类
Crypto 类代表当前上下文中可用的基本密码学功能。它是 Node.js 内置库,包含 Crypto 模块。
属性
以下是 crypto 类的属性:
| 序号 | 属性及描述 |
|---|---|
| 1 |
此属性返回 SubtleCrypto 接口。 |
方法
以下是 Crypto 类的使用方法:
| 序号 | 方法及描述 |
|---|---|
| 1 |
crypto.getRandomValues(typedArray) 传递相同的 typedArray 数组,但其内容将被替换为新的随机数。 |
| 2 |
此方法返回一个包含随机生成的字符串。 |
CryptoKey 类
CryptoKey 类用于表示创建和管理加密密钥的蓝图。
属性
以下是 CryptoKey 类可用的属性列表:
| 序号 | 属性及描述 |
|---|---|
| 1 |
cryptoKey.algorithm 返回的对象取决于用于生成密钥的算法。 |
| 2 |
cryptoKey.extractable 布尔值,如果密钥可以导出则为 true,否则为 false。 |
| 3 |
cryptoKey.type 返回一个字符串数组,包含 secret、private 或 public。 |
| 4 |
cryptoKey.usages 返回字符串数组。 |
CryptoKeyPair 类
CryptoKeyPair 类提供了一种管理和使用公钥和私钥对的结构化方法。
属性
以下是 CryptoKeyPair 类的属性列表:
| 序号 | 属性及描述 |
|---|---|
| 1 |
cryptoKeyPair.privateKey 此属性提供对密钥对私钥的访问。 |
| 2 |
cryptoKeyPair.publicKey 此属性提供对密钥对公钥的访问。 |
SubtleCrypto 类
SubtleCrypto 类是 Web Cryptography API 的一部分,旨在在 Web 应用程序中执行低级加密操作。它提供生成密钥的方法。
方法
以下是 SubtleCrypto 类的使用方法列表:
| 序号 | 方法及描述 |
|---|---|
| 1 |
subtle.decrypt(algorithm, key, data) 返回一个 Promise,解析为 ArrayBuffer 格式的解密数据。 |
| 2 |
subtle.deriveBits(algorithm, baseKey, length) 返回一个 Promise,解析为 ArrayBuffer 格式的派生位。 |
| 3 |
subtle.deriveKey(algorithm, baseKey, derivedKeyAlgorithm, extractable, keyUsages) 返回一个 Promise,解析为 CryptoKey 对象。 |
| 4 |
subtle.digest(algorithm, data) 返回一个 Promise,解析为 ArrayBuffer 格式的给定数据的摘要。 |
| 5 |
subtle.encrypt(algorithm, key, data) 返回一个 Promise,解析为 ArrayBuffer 格式的加密数据。 |
| 6 |
subtle.exportKey(format, key) 返回一个 Promise,解析为指定格式的密钥数据。 |
| 7 |
subtle.generateKey(algorithm, extractable, keyUsages) 返回一个 Promise,解析为新生成的 CryptoKey 对象,代表生成的密钥。 |
| 8 |
subtle.importKey(format, keyData, algorithm, extractable, keyUsages) 返回一个 Promise,解析为 CryptoKey 对象,代表导入的密钥。 |
| 9 |
subtle.sign(algorithm, key, data) 返回一个 Promise,解析为 ArrayBuffer 格式的给定数据的签名。 |
| 10 |
subtle.unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgo, unwrappedKeyAlgo, extractable, keyUsages) 返回一个 Promise,解析为 CryptoKey 对象,代表解开的密钥。 |
| 11 |
subtle.verify(algorithm, key, signature, data) 返回一个 Promise,解析为布尔值,指示提供的签名是否与给定数据的预期签名匹配。 |
| 12 |
subtle.wrapKey(format, key, wrappingKey, wrapAlgo) 返回一个 Promise,解析为包含已包装密钥数据的 ArrayBuffer 或 TypedArray。 |
