问题标签 [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.
python - 在 Python 和 Node 之间使用 AES 加密时的问题
我想用 python ( aes-128-ecb
) 加密一个字符串,然后用 node.js 解密这个字符串。下面是我写的。我不知道为什么它不起作用。
PyCrypto 库文档:http://pythonhosted.org//pycrypto/
节点加密库文档:http ://nodejs.org/api/crypto.html
Python代码
JS代码
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 )
node.js - PKCS5 填充与 node.js 加密
node.js crypto 的文档表明填充会自动插入到输入流中。我有一个简单的测试程序,需要计算明文的 SHA1 哈希,然后使用带有 PKCS5 填充的 AES-256/CBC 加密该 20 字节哈希。这是我的测试代码:
但是,这会生成一个长度仅为 23 个字节的文件。我希望通过适当的 PKCS5 填充,输出将是 32 字节。我错过了什么?
python - 如何将 python 加密代码重写为 node.js?
我想将以下 python 代码重写为 node.js。我要用 AES 算法重写小型加密/解密库。我想解密由 python 加密函数加密的值。
然后我在node.js中写了代码,但它仍然有问题.. :(
如果可能的话,请看看这个。谢谢你。
Python
节点.js
我还尝试重写 node.js 的解密部分。仍然不起作用并出现错误...
node.js - 在 Node.js 中使用 Crypto 时的错误处理
我正在使用 Node.js 的 Crypto 库进行加密/解密,如下所示:
加密部分没有问题。如果我发送正确的密码短语进行解密,也没有问题。我的问题是,如果我发送“错误”密码短语进行解密,代码中断并抛出错误:
我不希望它发生。我想例如解密函数返回“密码错误”的句子。根据文档在此处输入链接描述 createDecipher 函数不接受回调函数。
node.js - decipher.update 上的加密错误
我正在为 Node 项目编写一个 javascript 模块。
我得到一个非常模棱两可的错误
下面是我的 javalogin.js 文件。错误似乎发生在decipher.update(rows[i].CC, 'hex', 'utf8');
生产线上。
我确实得到了一些控制台打印出来。
JavaLogin.js:
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 459299994792636526405928464720973038494721168143446471443848 8520940127459844288859336526896320919633919
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1 29024E088A67CC74020BBEA63B139B22514A08798E3404DD EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245 E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F 83655D23DCA3AD961C62F356208552BB9ED529077096966D 670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF
我试图取这个素数并将其放入.createDiffieHellman(prime, [encoding])
. 但是,这样做之后,.setPrivateKey()
抱怨密钥长度不正确。
任何见解将不胜感激。
javascript - node.js 加密模块无法加密 16+ 个字符
我对密码学的所有术语还是很陌生,所以请原谅我对这个主题的无知。使用 node.js 的加密模块时发生了一些奇怪的事情。它将仅加密 16 个字符。更多,它会失败并显示以下错误消息:
我正在使用的代码如下所示:
为什么这不加密超过 16 个字符?是因为我使用的算法吗?我如何加密某些东西而不关心它有多长?
node.js - HMAC 摘要 node.js 加密
谁能帮我解决这个问题。
我正在尝试使用以下代码生成 HMAC 摘要,但节点中的加密模块似乎没有返回正确的签名?
Signtaure 应返回:
但是我得到了一个完全不同的字符串,它可以在以下网站上运行:
http://www.freeformatter.com/hmac-generator.html
有任何想法吗?我错过了什么吗?
谢谢。
* 更新 *
我已经解决了这个问题,结果我错误地生成了秘密,现在我得到了正确的签名。
node.js - 将 SHA-256 与 NodeJS 加密一起使用
我正在尝试像这样在 NodeJS 中散列一个变量:
但看起来我误解了文档,因为 console.log 没有记录培根的散列版本,而只是关于 SlowBuffer 的一些信息。
这样做的正确方法是什么?