问题标签 [node-crypto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
330 浏览

javascript - 在 node.js 中使用 PKCS1-OAEP 解密加密字符串

我得到一个在 python 中使用 PKCS1-OAEP 算法加密的信息,我想解密 node.js 中的信息。

我找到了 node.js 的加密库。看起来有两个函数可以解密此信息:a)createCipherIV 和 b)PrivateDecrypt。我不能使用 privateDecrypt,因为 node 指的是以前版本的加密,它没有这个功能,升级加密库版本是我目前无法做的事情,因为时间限制,b)我不能使用 createCipherIV,因为它不支持 pkcs1-oaep。所以,我几乎被堵在这里了。你能帮我找出正确的库/函数来解密信息吗? https://nodejs.org/api/crypto.html#crypto_crypto_createcipheriv_algorithm_key_iv_options链接说 CreateCipherIV 不支持 PKCS1-OAEP 但我在某处读到 OpenSSL 确实支持 OAEP,不能

0 投票
2 回答
494 浏览

node.js - 是否可以使用 nodejs 加密在随机位置破译?

我的理解是,理论上,CTR 模式下的 AES 分组密码允许解密大文件的任何位置,而无需读取整个文件。

但是,我看不到如何使用 nodejs 加密模块执行此操作。我可以Decipher.update用虚拟块为方法提供数据,直到到达我感兴趣的部分,此时我将从文件中读取的实际数据提供给我,但这将是一个可怕的 hack、低效且脆弱,因为我需要注意块大小。

有没有办法用加密模块做到这一点,如果没有,我可以使用什么模块?

0 投票
2 回答
1471 浏览

node.js - cipher.js TypeError: IV must be a buffer

然后我得到了这个错误:

我的节点版本是 9.11.1

我已经验证源文件存在。

为什么失败了?它在旧版本的节点中工作(早于版本 8.x)

0 投票
2 回答
242 浏览

javascript - 为什么每次我用 simple-encryptor npm 运行加密时,它都会输出不同的结果

请帮我解决这个问题。

我在“NPM”上使用库:“simple-encryptor”,但每次我运行“加密”功能时,它都会输出不同的结果。

例如:
第一:“4792f3eacff628801005f14f1bc25ba0353…3e969662c4i/It97adse8M+1tmRHnYCQ==”
第二:“6c576df521df45cc48ffe594fbe13084353…66e3552bdaLoAV3rortuDbJYox=
1 (您可以在: https
://npm.runkit.com/simple-encryptor 上运行示例代码)

因此:当我将数据保存到本地并返回时,我无法解密这些数据。

为什么每次运行时加密的结果都不同?
在这种情况下如何解密数据?

0 投票
1 回答
1599 浏览

javascript - AES/CBC/PKCS5PADDING IV - 从 Java 到 NodeJs 的解密

我正在尝试在 NodeJs 中解密。它在 Java 中工作。但我无法在 Node.js 中实现相同的目标。

我正在使用节点版本:8.4

请找到我的 NodeJs 代码:

请找到有效的 Java 代码

我得到一个不同的解密文本。我无法在 NodeJs 中获得与在 Java 中相同的结果。

请帮我解决一下这个。

0 投票
1 回答
2733 浏览

node.js - 在nodejs中加密字符串并在java中解密

我在 NODEJS 中加密文本并尝试在 Java 中解密但出现错误。我的nodejs代码:

但是当我试图解密它时,它总是会抛出一个错误。

我得到的错误如下:

java.security.InvalidKeyException:无效的 AES 密钥长度:8 个字节

0 投票
3 回答
12922 浏览

node.js - 如何在nodejs中加密和解密字符串/对象

我想加密一个对象然后解密它。加密效果很好,但解密失败。在我的代码下面:

crypto_ext.js

在我的test.js中,我有:

这就是我得到的错误:

你能告诉我我做错了什么吗?

0 投票
1 回答
539 浏览

java - 节点 HMAC 结果与 Ruby 和 Java 不同

我有 2 个用于第 3 方 API 的 HMAC 哈希的现有实现。Java 和 Ruby 在执行 SHA1 或 SHA256 时完美匹配,但 Node 也不匹配。在 Node 中实现的代码看起来简单直接,所以我不确定区别在哪里。

在红宝石中:

在 Java 中:

在节点中:

我已经验证了密钥和数据是相同的。

编辑:看起来问题是行尾。我们构建的数据必须用 \n 换行符分隔。这在 Java 和 Ruby 中都可以完成。但是 Node 中的相同 \n 使散列不同并且请求失败。

0 投票
2 回答
2273 浏览

java - 在 nodejs 解密中出现错误(错误:不支持的状态或无法验证数据)

我在 java 中使用 AES/GCM/NoPadding 算法(AES-256)加密了一条消息,并试图在 NodeJs 中解密它。解密时出现异常“错误:不支持的状态或无法验证数据”。以下是 java 和 nodejs 的完整代码和错误消息:请帮助我 java 或 nodejs 中的错误代码在哪里。

以下是以 Java 加密代码开头的代码:

//NodeJS解密代码:

0 投票
1 回答
6080 浏览

node.js - 从“crypto”迁移到 crypto-js 库:二进制编码

crypto我正在尝试在不支持标准节点库的设备上生成 SHA256 和 HmacSHA512 哈希。所以我正在调整代码以使用 CryptoJS。但是,CryptoJS 无法将哈希编码为二进制(只有 Hex、Base64 和 Latin1 是可用的编码器)。

以下是我要迁移的功能。以前的(不可用的)代码被注释掉了。