问题标签 [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 回答
194 浏览

node.js - HMAC 根据节点版本变化(paybox 模块)

我正在使用https://www.npmjs.com/package/paybox我需要升级我的节点版本(从 5.6 到 6+)

正如您在下面看到generateHMAC的,如果我更改我的节点版本,它会创建一个不同的哈希。

你能帮我理解这一点,并告诉我它是否可以妥协(也许没关系?几个哈希可能没问题?)

这是我的代码片段:

这是节点 5.6.0 版本的结果

以及从 6.11.1 开始的任何版本(直到最新)

0 投票
1 回答
2917 浏览

node.js - 加密 createHMAC 输出因 nodejs 版本而异

升级节点版本时出现加密模块问题。创建的 HMAC 取决于节点的版本。您将在下面找到重现问题的代码。

如果我将密钥编码为 BASE64(或任何),则 HMAC 不依赖于 node.js 版本。

如果我将它编码为二进制,那么如果我更改我的 node.js 版本,HMAC 就会不同。

[编辑] 根据为什么 crypto.createHash 在新版本中返回不同的输出?我在调用update函数时添加了编码

代码片段

输出如下,带有 2 个版本的 node.js

注意:这是这个问题的缩小范围:HMAC changes based on node version (paybox module)

顺便说一句,如果我这样做

5ece799aa73a7a8e687...没问题,无论节点的版本如何,我都会获得相同的密钥。

0 投票
0 回答
499 浏览

java - 将节点 js Crypto.publicEncrypt 移植到 Java

我在 Node.js 中有以下代码

我也有测试用例来确定代码是否已正确加密(虽然我不能分享这些)我想在 Java 中有等效的加密代码。我已经引用了一些其他的 stackoverflow 问题,例如字符串加密工作,字节 [] 数组类型的加密在生成密钥的地方不起作用 。这对我不起作用,因为我需要能够设置公钥的字符串。将节点“加密”代码移植到 Java对我不起作用,因为我不相信我需要密码并且节点 js 代码不包含密码,使用 Node.js 加密模块加密并使用 Java 解密(在 Android 应用程序中)确实对我不起作用,因为我无法设置公钥的加密字符串,并且节点 js 加密中等效的 java 加密方法不起作用,因为我的节点 js 代码不包含密码。我还在 java 中引用了这段代码:

但是,当我简单地插入公钥字符串时,我没有得到正确的加密。我也不确定如何在 Node js 中实现填充以及 crypto.publicencrypt 的默认加密算法是什么。

任何帮助,将不胜感激。

0 投票
0 回答
361 浏览

c# - 将 C# 函数转换为 nodeJS 函数

我正在尝试将此 C# 函数复制到 NodeJS 函数中。

这里首先是 C# 函数。

这是我试图将其转换为的 NodeJS 函数。

NodeJS 函数是错误的,有人可以将 C# 函数转换为 NodeJS 函数吗,因为我是前端开发人员,对此我的经验有限。

目前我得到的输出是:

0 投票
1 回答
487 浏览

c# - 如何从 asp.net 核心应用程序 C# 验证文件中的 Json 对象

问题: nodejs 应用程序创建一个作为许可证的 json 文件,而 asp.net 核心应用程序需要使用公钥验证信息。节点应用程序使用 RSA sha256 使用私钥对其进行签名,.net 核心应用程序将使用公钥进行验证。谢谢你。json 文件包含以下信息:

我们在 asp.net 核心方面尝试了很多东西,但没有成功,给定的公钥有一些不寻常的字符,如 \n,通常看不到。以下是我们尝试过的不同方法之一:

公钥格式如下:

nodejs 应用程序对数据进行签名的代码:

还有另一个 nodejs 应用程序正在成功验证数据,示例如下,只是在 .net 中,事情没有走到一起:

0 投票
1 回答
737 浏览

audio - android加密音频文件,后端sails js解密

我想通过android加密音频文件并通过后端sails js解密。我为此开发了程序,但我遇到了sails js 错误

在此处输入图像描述

这是我在android中加密音频文件的源代码

我通过以下命令在sails js后端安装了crypto、fs库 npm install crypto npm install fs

这是我在sails js中解密音频文件的源代码

加密工作正常,我可以获得加密的音频文件。但问题是我无法通过sails js 获得解密的音频文件。你能确定问题吗?

0 投票
1 回答
2464 浏览

node.js - 节点使用私钥和填充解密内容

所以,我有一个需要用 private key 和 padding 解密的内容AES/ECB/PKCS5Padding

我尝试了许多库和许多示例,但它们都不起作用。现在,这是我设法完成最后一步的地方,但我不确定是否有另一个库可以为我做这件事。

这给我带来了错误:

第二个示例与第一个示例略有不同,但使用了填充(这就是我需要的,我只是想尝试不使用它以查看它是否有效):

它在线崩溃var final = aesDec.final()并引发错误:

有没有人有关于如何做到这一点的知识或经验?

0 投票
2 回答
5202 浏览

javascript - 节点 - require('crypto') 解析为 { }

我使用 NPM 进行依赖管理,使用 Angular5 和 TypeScript。

编辑我还没有从 npm 安装加密包,我正在引用节点内置包。

无论我做什么,“crypto”包都会解析为一个空对象。我已经安装了节点 @typings 包,并且可以在 node_modules/@typings 文件夹中看到 @typings 定义加密的定义。

我试过的:

import * as cryp from 'crypto'

declare var crypto:any

declare module crypto

var cryp = require('crypto')

我尝试删除模块文件夹并重新安装。

我尝试将所有内容更新到最新版本。

我尝试创建一个新项目,并且只使用没有其他依赖项的加密。没运气。

这里最大的问题是我们正在尝试使用依赖于这个“加密”模块的库,没有它它们就无法运行。

最令人困惑的是它不会抛出任何错误,而且它不是未定义的,而是一个空对象。它在项目中或项目之外都不起作用。其他 Node JS/TS 模块运行良好,实际上(到目前为止)只是“加密”,它存在这个问题。这里的任何指导或想法都会很棒。

主要使用 ng serve 来运行应用程序,但也尝试直接使用 node 打包和运行。

根据@kendor 的建议,我运行了一个 tsc --traceResolution。这是关于加密的部分。有趣的是,它说“node_modules”不存在,但它显然存在,并且其他包正在正确解析它。

0 投票
1 回答
138 浏览

encryption - I put a password for a zip file to hide the contents in it .i made password like a passage(more than 30 words) . Is it breakable?

I put a password for a zip file to hide the contents in it . i made a password like a passage(more than 30 words) . Is it breakable ?

0 投票
1 回答
1448 浏览

node.js - NodeJs 中的 Java AES/CBC/NoPadding 等效项

我已被分配使用AES/CBC/NoPadding解码在 java 中构建的令牌。

我正在为此研究节点锻造和加密。我的问题是我不知道 NodeJs 中算法AES/CBC/NoPadding的等效项是什么。

我正在使用这样的东西:

正如我搜索的那样,这createDecipheriv("aes-128-ecb"相当于AES/CBC/PKCS5Padding。我虽然是,decipher.setPadding(false)但我想我走错了路)。