问题标签 [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.
node.js - HMAC 根据节点版本变化(paybox 模块)
我正在使用https://www.npmjs.com/package/paybox我需要升级我的节点版本(从 5.6 到 6+)
正如您在下面看到generateHMAC
的,如果我更改我的节点版本,它会创建一个不同的哈希。
你能帮我理解这一点,并告诉我它是否可以妥协(也许没关系?几个哈希可能没问题?)
这是我的代码片段:
这是节点 5.6.0 版本的结果
以及从 6.11.1 开始的任何版本(直到最新)
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...
没问题,无论节点的版本如何,我都会获得相同的密钥。
java - 将节点 js Crypto.publicEncrypt 移植到 Java
我在 Node.js 中有以下代码
我也有测试用例来确定代码是否已正确加密(虽然我不能分享这些)我想在 Java 中有等效的加密代码。我已经引用了一些其他的 stackoverflow 问题,例如字符串加密工作,字节 [] 数组类型的加密在生成密钥的地方不起作用 。这对我不起作用,因为我需要能够设置公钥的字符串。将节点“加密”代码移植到 Java对我不起作用,因为我不相信我需要密码并且节点 js 代码不包含密码,使用 Node.js 加密模块加密并使用 Java 解密(在 Android 应用程序中)确实对我不起作用,因为我无法设置公钥的加密字符串,并且节点 js 加密中等效的 java 加密方法不起作用,因为我的节点 js 代码不包含密码。我还在 java 中引用了这段代码:
但是,当我简单地插入公钥字符串时,我没有得到正确的加密。我也不确定如何在 Node js 中实现填充以及 crypto.publicencrypt 的默认加密算法是什么。
任何帮助,将不胜感激。
c# - 将 C# 函数转换为 nodeJS 函数
我正在尝试将此 C# 函数复制到 NodeJS 函数中。
这里首先是 C# 函数。
这是我试图将其转换为的 NodeJS 函数。
NodeJS 函数是错误的,有人可以将 C# 函数转换为 NodeJS 函数吗,因为我是前端开发人员,对此我的经验有限。
目前我得到的输出是:
c# - 如何从 asp.net 核心应用程序 C# 验证文件中的 Json 对象
问题: nodejs 应用程序创建一个作为许可证的 json 文件,而 asp.net 核心应用程序需要使用公钥验证信息。节点应用程序使用 RSA sha256 使用私钥对其进行签名,.net 核心应用程序将使用公钥进行验证。谢谢你。json 文件包含以下信息:
我们在 asp.net 核心方面尝试了很多东西,但没有成功,给定的公钥有一些不寻常的字符,如 \n,通常看不到。以下是我们尝试过的不同方法之一:
公钥格式如下:
nodejs 应用程序对数据进行签名的代码:
还有另一个 nodejs 应用程序正在成功验证数据,示例如下,只是在 .net 中,事情没有走到一起:
node.js - 节点使用私钥和填充解密内容
所以,我有一个需要用 private key 和 padding 解密的内容AES/ECB/PKCS5Padding
。
我尝试了许多库和许多示例,但它们都不起作用。现在,这是我设法完成最后一步的地方,但我不确定是否有另一个库可以为我做这件事。
这给我带来了错误:
第二个示例与第一个示例略有不同,但使用了填充(这就是我需要的,我只是想尝试不使用它以查看它是否有效):
它在线崩溃var final = aesDec.final()
并引发错误:
有没有人有关于如何做到这一点的知识或经验?
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”不存在,但它显然存在,并且其他包正在正确解析它。
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 ?
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)
但我想我走错了路)。