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

python - 在 Python 和 Node 之间使用 AES 加密时的问题

我想用 python ( aes-128-ecb) 加密一个字符串,然后用 node.js 解密这个字符串。下面是我写的。我不知道为什么它不起作用。

PyCrypto 库文档:http://pythonhosted.org//pycrypto/

节点加密库文档:http ://nodejs.org/api/crypto.html

Python代码

JS代码

0 投票
1 回答
2021 浏览

javascript - Node.js 加密 aes-256-cbc-hmac-sha1 不起作用

我正在尝试将 aes-256-cbc-hmac-sha1 算法与Node.js 加密模块一起使用。

这是一个代码片段,显示了我正在尝试做的事情:

没有包含 HMAC 的算法可以工作,但 HMAC 的算法不能。decipher.update它在步骤上失败。完整输出:

但是,如果我自己创建一个 HMAC,它可以正常工作:

任何想法我做错了什么?或者这是加密模块中的错误?(用节点 0.10.26 和 0.10.28 测试,结果相同。)

谢谢

(注意,也将此作为错误发布:https ://github.com/joyent/node/issues/7583 )

0 投票
1 回答
5877 浏览

node.js - PKCS5 填充与 node.js 加密

node.js crypto 的文档表明填充会自动插入到输入流中。我有一个简单的测试程序,需要计算明文的 SHA1 哈希,然后使用带有 PKCS5 填充的 AES-256/CBC 加密该 20 字节哈希。这是我的测试代码:

但是,这会生成一个长度仅为 23 个字节的文件。我希望通过适当的 PKCS5 填充,输出将是 32 字节。我错过了什么?

0 投票
1 回答
1005 浏览

python - 如何将 python 加密代码重写为 node.js?

我想将以下 python 代码重写为 node.js。我要用 AES 算法重写小型加密/解密库。我想解密由 python 加密函数加密的值。

然后我在node.js中写了代码,但它仍然有问题.. :(

如果可能的话,请看看这个。谢谢你。

Python

节点.js

我还尝试重写 node.js 的解密部分。仍然不起作用并出现错误...

0 投票
1 回答
6806 浏览

node.js - 在 Node.js 中使用 Crypto 时的错误处理

我正在使用 Node.js 的 Crypto 库进行加密/解密,如下所示:

加密部分没有问题。如果我发送正确的密码短语进行解密,也没有问题。我的问题是,如果我发送“错误”密码短语进行解密,代码中断并抛出错误:

我不希望它发生。我想例如解密函数返回“密码错误”的句子。根据文档在此处输入链接描述 createDecipher 函数不接受回调函数。

0 投票
1 回答
674 浏览

node.js - decipher.update 上的加密错误

我正在为 Node 项目编写一个 javascript 模块。

我得到一个非常模棱两可的错误

下面是我的 javalogin.js 文件。错误似乎发生在decipher.update(rows[i].CC, 'hex', 'utf8');生产线上。

我确实得到了一些控制台打印出来。

JavaLogin.js:

0 投票
0 回答
801 浏览

javascript - 节点加密 diffieHellman.setPrivateKey()

我一直在使用 Node 中的 Crypto lib 进行 Pub Key 交换。到目前为止,我一直在使用.getDiffieHellman('modp5')为每个新连接生成一个新的公钥/私钥。这种方法非常适合计算用于 AES 加密的秘密。

但是,我希望能够将私钥保存到文件中,然后在下次执行时加载它。看起来这样做的方法是.getPrivateKey()then.setPrivateKey().setPrivateKey()crypto.createDiffieHellman生成的类上使用.getDiffieHellman('modp5')不起作用。这实际上在文档中说明:

返回的对象模仿上面由 crypto.createDiffieHellman() 创建的对象的接口,但不允许更改密钥(例如 diffieHellman.setPublicKey())。

知道这一点,如果我使用以下代码生成了私钥:

我如何在以后加载相同的私钥?

我查看了加密文档中指定的RFC2412,发现第 5 组的素数列为:

2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804}

241031242692103258855207602219756607485695054850245994265411 694195810883168261222889009385826134161467322714147790401219 650364895705058263194273070680500922306273474534107340669624 601458936165977404102716924945320037872943417032584377865919 814376319377685986952408894019557734611984354530154704374720 774996976375008430892633929555996888245787241299381012913029 4592999947926365264059284647209730384947211681434464714​​43848 8520940127459844288859336526896320919633919

FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1 29024E088A67CC74020BBEA63B139B22514A08798E3404DD EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245 E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F 83655D23DCA3AD961C62F356208552BB9ED529077096966D 670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF

我试图取这个素数并将其放入.createDiffieHellman(prime, [encoding]). 但是,这样做之后,.setPrivateKey()抱怨密钥长度不正确。

任何见解将不胜感激。

0 投票
1 回答
757 浏览

javascript - node.js 加密模块无法加密 16+ 个字符

我对密码学的所有术语还是很陌生,所以请原谅我对这个主题的无知。使用 node.js 的加密模块时发生了一些奇怪的事情。它将仅加密 16 个字符。更多,它会失败并显示以下错误消息:

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

为什么这不加密超过 16 个字符?是因为我使用的算法吗?我如何加密某些东西而不关心它有多长?

0 投票
0 回答
202 浏览

node.js - HMAC 摘要 node.js 加密

谁能帮我解决这个问题。

我正在尝试使用以下代码生成 HMAC 摘要,但节点中的加密模块似乎没有返回正确的签名?

Signtaure 应返回:

但是我得到了一个完全不同的字符串,它可以在以下网站上运行:

http://www.freeformatter.com/hmac-generator.html

有任何想法吗?我错过了什么吗?

谢谢。

* 更新 *

我已经解决了这个问题,结果我错误地生成了秘密,现在我得到了正确的签名。

0 投票
4 回答
117097 浏览

node.js - 将 SHA-256 与 NodeJS 加密一起使用

我正在尝试像这样在 NodeJS 中散列一个变量:

但看起来我误解了文档,因为 console.log 没有记录培根的散列版本,而只是关于 SlowBuffer 的一些信息。

这样做的正确方法是什么?