@anvilco/encryption

中文文档
2.0.4发布于 2023/01/20MITCommonJS零依赖近 30 天下载 4112

RSA 和 AES 加密助手

中文使用文档
文档目录5 节
  1. 安装
  2. API 密码
  3. 高级
  4. 登记册系统管理人
  5. 许可证

馆内加密

这个图书馆是一个小包装 围绕节点 crypto 图书馆。 它为在AES和RSA中加密和破解任意有效载荷提供了方便方法.

为使用加密/解密Anvil的有效载荷,您可以从您的 组织的设置页面。 。 。 .

Horizontal Lockupblack Horizontal Lockup copywhite

安维尔 为所有文件提供方便的API.

  1. PDF 填补 API - 填写一个PDF模板,其中包含网络请求和结构化的JSON数据.
  2. PDF 生成 API - 发送标记下来或HTML和Anvil会把它变成PDF.
  3. Etch 带有 API 的 E 签名 - 可自定义的、可嵌入的、带有API的电子签名平台,以控制签名过程的端到端.
  4. 工作流量(w/ API) - Webforms + PDF + E- sign 带有强大的无码构建器. 轻松地收集结构化数据,生成PDF,并请求签名.

多了解一下安维尔 Anvil 开发者页面。 。 。 .

安装

yarn add @anvilco/encryption

那就用这个

// For RSA functions
import { encryptRSA, decryptRSA } from '@anvilco/encryption'

// For AES functions
import { generateAESKey, encryptAES, decryptAES } from '@anvilco/encryption'

// Could grab the keys from file (or preferably from environment variables)
import fs from 'fs'
const privateKey = fs.readFileSync('path/to/privateKey.pem')
const publicKey = fs.readFileSync('path/to/publicKey.pem')


// RSA
const message = 'Super secret message'
const encryptedRSAMessage = encryptRSA(publicKey, message)
const origRSAMessage = decryptRSA(privateKey, encryptedRSAMessage)
console.log(origRSAMessage === message) // => true

// AES
const aesKey = generateAESKey()
const encryptedAESMessage = encryptAES(aesKey, message)
const origAESMessage = decryptAES(aesKey, encryptedAESMessage)
console.log(origAESMessage === message) // => true

API 密码

RSA有两个功能: encryptRSA, (中文(简体) ), decryptRSA,AES则有三: generateAESKey, (中文(简体) ), encryptAES, (中文(简体) ), decryptAES。 。 。 .

高级

AES有三个功能:

  • key = generateAESKey()
  • encryptedMessage = encryptAES(key, plainMessage)
  • plainMessage = decryptAES(key, encryptedMessage)

encryptAES 创建一个独特的 四、结 论 对每封信件进行加密,并预留到产生的加密有效载荷上。 这么说吧 encryptedMessage 将采用格式

<iv>:<aesEncryptedPayload>

登记册系统管理人

RSA有两个功能:

  • encryptedMessage = encryptRSA(publicKey, plainMessage)
  • plainMessage = decryptRSA(privateKey, encryptedMessage)

这些函数用RSA加密/解密 财务报告和审定财务报表 没错 RSA对它能加密多少数据有上限. 所以我们创建一个AES密钥,用RSA加密AES密钥,然后用AES加密实际消息.

注意加密的有效载荷(结果 encryptRSA)的格式:

<rsaEncryptedAESKey>:<aesEncryptedMessage>

生成 RSA 密钥

此库无法生成 RSA 密钥 .

您可以使用打开sl:

# This generates a 2048 bit private key to file
openssl genrsa -out privateKey.pem 2048

# This extracts the public key to file
openssl rsa -in privateKey.pem -outform PEM -pubout -out publicKey.pem

你也可以使用类似的东西 节点-rsa数字 :

// Example generating a RSA keypair with node-rsa
import NodeRSA from 'node-rsa'
function generateRSAKeypair () {
  const key = new NodeRSA()
  key.generateKeyPair(2048, 65537)
  return {
    publicKey: key.exportKey('pkcs8-public-pem'),
    privateKey: key.exportKey('pkcs8-private-pem'),
  }
}

许可证

麻省理工学院

版本与发布记录

@anvilco/encryption 共发布 8 个版本,首次发布于 2018/09/01;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.4latest2023/01/203 年前
2.0.32022/05/254 年前
2.0.22022/03/264 年前
2.0.12021/04/215 年前
2.0.02020/03/216 年前
1.0.32018/09/018 年前

关于 @anvilco/encryption 的常见问题

@anvilco/encryption 是什么?

RSA 和 AES 加密助手

如何安装 @anvilco/encryption?

在项目目录运行 npm install @anvilco/encryption,或使用 pnpm add / yarn add / bun add。

@anvilco/encryption 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/anvilco__encryption 是否存在。

@anvilco/encryption 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@anvilco/encryption 可以商用吗?

@anvilco/encryption 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@anvilco/encryption 的下载量有多少?

根据 npm 官方下载统计,@anvilco/encryption 在 2026/10/06 – 2026/11/04 这 30 天内被下载 4,112 次,日均约 137 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@anvilco/encryption 还在维护吗?

最新版本 2.0.4 发布于 2023/01/20(3 年前);至今共发布 8 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/09/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。