8

我写了一个基本函数来测试 Node.js 内置加密函数的 AES-256-CBC 模式的速度。这些函数使用 OpenSSL,因此它们应该支持 AES-NI,但是当我正确启用 AES-NI 并对 OpenSSL 进行命令行测试时,OpenSSL 上的加密速度约为 350MB/s,而 Node.js 上只有 ~100MB/s加密货币。

我使用这个答案在命令行中启用 OpenSSL AES-NI 并按如下方式运行它:

openssl speed -evp aes-256-cbc

我的问题是,如何使 AES 的 Node.js 加密函数的速度与在命令行中运行的 OpenSSL 的速度相匹配?我怀疑原因是没有使用 AES-NI

4

2 回答 2

3

似乎直到最新版本 v0.12(刚刚公开发布)才正确启用。

一些注释可在此处获得 http://strongloop.com/strongblog/performance-node-js-v-0-12-whats-new/

于 2015-02-24T05:54:51.837 回答
2

不,你做对了。OpenSSL 在 Node 中的表现有点令人失望。大多数生产 Node.js 部署会终止 Node.js 以外的 SSL 连接,然后将未加密的连接转发到 Node.js。

于 2014-03-16T01:25:41.380 回答