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

javascript - 从 JAVA 到 node.js 的加密和编码(AES、UTF-8 和 base64)代码转换给出不同的结果

更新:我终于设法按照第三方服务的要求重新创建了整个 Java 代码。我必须补充一点,一些使用的库已被弃用,但我无能为力,因为那是对方正在使用的,我必须遵守。

Java 代码

输入键:xxxxxxxxyyyyyyyy
输入文本:maryhadalittlelamb

输出:Z22GETg3Anl92%2BoyqdVWs9haQveaZxkDn8sQYP08iCY%3D

node.js 代码

输入键:xxxxxxxxyyyyyyyy
输入文本:maryhadalittlelamb

输出:mnqrpA2eqAhmseTrkBtH3YSGMoFs+ECPUamVd8/bgAQ=

相同输入字符串和键的输出对于两者都是不同的。事实上,node.js 是不同的,但 base64 看起来还是一样的。

我对这些东西还很陌生,因此我已经失去了可能。

0 投票
1 回答
474 浏览

javascript - Node.js crypto.pbkdf2Sync 密码与 python 脚本不匹配

我有一个存储此 node.js 代码生成的密码的 mongodb 服务器:

但是身份验证阶段是由一个 python 脚本执行的,该脚本采用纯文本密码,并且应该重建与 node.js 相同的密码。我正在尝试使用 django python 模块中的 hashlib 和 pbkdf2 来做到这一点,但结果不匹配。hashlib 脚本是:

你有什么想法?

0 投票
3 回答
24644 浏览

node.js - EVP_DecryptFinal_ex:使用 Node.js 时解密错误

使用以下节点 js:

为了执行,我运行了这个:

加密似乎工作正常,但是当我尝试解密时,我收到以下错误:

错误:错误:06065064:数字信封例程:EVP_DecryptFinal_ex:Decipheriv.Cipher.final (crypto.js:202:26) 错误(本机)错误解密

我对密码学很陌生,所以真的不知道为什么我会收到这个错误。我现在只需要修复它。

0 投票
1 回答
176 浏览

javascript - 从密码派生的节点加密密钥使用 browserify 产生不同的结果

我正在尝试在浏览器中重新创建Symfony 。MessageDigestPasswordEncoder

我对 browserify 和加密模块有一些问题。我尝试使用 JavaScript 但不使用 Node.js 生成哈希。

这是我的节点代码:

它返回:

现在,考虑到我需要在没有节点的情况下实现它,我使用了 browserify

我创建了一个测试页面,包括:

控制台日志输出为:

知道为什么我有两个不同的结果吗?

否则,有没有办法在纯 JS(无节点)中获得相同的结果?

0 投票
1 回答
2371 浏览

javascript - Node.js v6.2.2 crypto.createCipheriv“无效的密钥长度”错误

以下是multipassify的来源。

该代码在节点 6 下完美运行,并给出了错误。

错误如下所示:

这是来源。

我尝试过将哈希转换this._encryptionKey为二进制。使用这个github 问题作为指南,但我没有运气试图让它与 Node 6 一起使用。任何人都知道一个简单的方法来让它与更高版本的节点一起工作?

0 投票
1 回答
1189 浏览

java - 将 Java 加密代码转换为 NodeJS

我正在努力在 NodeJS 中实现Walmart API。Walmart 仅提供 JAVA 示例。我在正确处理时遇到问题。与使用他们提供的 Java 可执行文件相比,我的签名有点长并且不被接受。

我会很感激任何帮助。即使弄清楚沃尔玛提供的秘密是什么格式也会有所帮助。

这是工作的Java代码:

这是我的节点代码:

一些笔记。我尝试按privateEncodedStr原样传递,但 Crypto 拒绝没有 PEM 标头,因此我不得不添加这些标头。

使用相同的时间戳,Java 代码产生了类似的结果:

我的 JS 代码:

这就是沃尔玛的秘密看起来有点像:

知道这是什么格式吗?它似乎是一个删除了页眉/页脚的私钥。

0 投票
0 回答
305 浏览

node.js - Node.js 对 X25519 曲线的支持

我没有看到节点加密有任何 X25519 曲线的实现。我已经检查过了crypto.getCurves()

我是在看错什么还是 Node 还不支持这条曲线。如果是这样,是否有任何其他替代方法可以在节点的 ECDH 中使用此曲线?

谢谢

0 投票
1 回答
329 浏览

sql - 查询解密数据 SQL SERVER

我想知道是否存在用于加密某些字段的 SQL SERVER 的本机工具,在进行和执行查询时放置,SQL SERVER 会自动解密。

0 投票
0 回答
905 浏览

java - 如何在java中使用没有密钥的xor解密密文

我得到了 11 个密文,我可以用它来获取密钥,我需要获得第 11 个密文的纯文本。我首先将 1-10 个密文中的每一个与第 11 个密文进行异或,然后将这些结果中的每一个与我试图找到的关键字异或,并得到一个我认为不正确的结果。任何建议将不胜感激!

我正在使用的代码如下所示:

结果是:

0 投票
1 回答
597 浏览

node.js - 为什么在调用 setEncoding() 之前 crypto.createHash() 不可写?

我使用request 带有crypto. 似乎request实现了旧stream协议,并且writable.

所以,如果我使用下一个代码:

它产生sha256('')(即从空值)。但是当我使用hasher.setEncoding('hex')代码时会产生sha256(<response_body>)hasher.writable给出true.

我不明白这样做的原因是什么?文档中在哪里说明了这一点?