Node.js 有没有办法将自定义加密算法添加到nodejs加密模块中?怎么用?
我需要在每个上传的文件上生成一个哈希。散列必须与为给定文件生成的散列git相同(通俗地说,它是sha1的一个变体) 我查看了Node.js 有没有办法将自定义加密算法添加到nodejs加密模块中?怎么用?,node.js,git,hash,cryptography,node-crypto,Node.js,Git,Hash,Cryptography,Node Crypto,我需要在每个上传的文件上生成一个哈希。散列必须与为给定文件生成的散列git相同(通俗地说,它是sha1的一个变体) 我查看了/nodejs-v0.10.22-src/core modules sources/lib/crypto.js。该库引用本机绑定。对于可移植性,我不想依赖于本机代码 有没有一种方法可以在JavaScript中将自定义加密算法添加到nodejs加密模块中,以便我可以执行以下操作: var hash = crypto.createHash('githash'); hash.up
/nodejs-v0.10.22-src/core modules sources/lib/crypto.js
。该库引用本机绑定。对于可移植性,我不想依赖于本机代码
有没有一种方法可以在JavaScript中将自定义加密算法添加到nodejs加密模块中,以便我可以执行以下操作:
var hash = crypto.createHash('githash');
hash.update('...');
快速回答是否定的,您不能扩展
加密
模块中可用的哈希。给定的哈希在
基本上取决于OpenSSL支持的哈希
您可能可以使用monkey patchcreateHash
重定向到您自己的代码,但这是不可取的
相反,我建议在bodyParser完成后重新使用中间件来散列数据,或者跳过标准的bodyParser,为您的特定用例实现自己的bodyParser。这里需要注意的几点:
与编写独立模块相比,您试图从使用本机加密模块中获得什么好处?我尝试使用
connect.bodyParser
,它接受哈希算法的选项。指定的哈希必须是字符串,并传递给加密库。我在bodyParser上没有看到任何哈希选项,因此很难判断,但我留下了答案。