Node.js:将请求输出传递到crypto.hash

尼科·施洛默(NicoSchlömer)

我想从URL计算资源(例如PDF)的哈希值。为此,我写了

const computeHash = co.wrap(function* main(url) {
  const response = yield promisify(request)(url);
  // assume response.status === 200
  const buf = new Uint8Array(response.arrayBuffer);
  const hash = crypto.createHash('sha1');
  hash.update(buf, 'binary');
  return hash.digest('hex');
});

要使用的

const hash = yield computeHash('http://arxiv.org/pdf/1001.1234v3.pdf');

我喜欢什么代码:

  • 这是一个发电机,所以我可以yield距离async/仅一步之遥await

我不喜欢的东西:

  • 它无法正确计算哈希值。:)
  • request完成和响应主体作为一个整体管道输送到hash功能。我宁愿将输出通过管道request传递给哈希函数。

有什么提示吗?

mscdex

crypto.createHash()提供一个Hash实例,实例当前支持两个接口:旧版(update()digest())和流式传输。您不必做任何特别的事情就可以使用任何一种,因此将响应流传输到哈希流就很简单:

var hasher = crypto.createHash('sha1');
hasher.setEncoding('hex');
request(url).pipe(hasher).on('finish', function() {
  console.log('Hash is', hasher.read());
});

这就是使用普通回调进行处理的方式,但是yield由于我对生成器等的熟悉程度不足,因此我不确定您将如何处理它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js中的Hash_hmac等效项

来自分类Dev

在Node.js中实现来自Cakephp的Security :: Hash

来自分类Dev

将Chef属性转换为Yaml时文件中包含的ruby / hash:Chef :: Node :: ImmutableMash

来自分类Dev

将请求发布到node.js服务导致超时

来自分类Dev

将请求发布到node.js服务导致超时

来自分类Dev

将变量从JavaScript传递到Node.js

来自分类Dev

将数组从node.js / express传递到Jade模板

来自分类Dev

Node.js-将值传递到其他页面

来自分类Dev

Node js,将pdfkit传递到内存流

来自分类Dev

将变量从node.js传递到html

来自分类Dev

Node.js-将值传递到其他页面

来自分类Dev

将数组从node.js / express传递到Jade模板

来自分类Dev

将Web令牌从后端传递到前端(从Node.js + Express传递到AngularJS)

来自分类Dev

将请求发布到Node-http-proxy Node.js时发生套接字挂断

来自分类Dev

将数据从Node.js传递到NWJS中的angular的正确方法(node-webkit)

来自分类Dev

从 Node js 到 Django 的 Json 请求

来自分类Dev

在 Node js 中 Rest Api 请求(curl 到 Node.js,python 到 Node.js)

来自分类Dev

将cookie作为node.js请求的一部分传递

来自分类Dev

如何将json传递给Node.js请求发布方法?

来自分类Dev

node.js:将列表从节点 js 代码传递到 hbs html 页面并不总是有效(有时给我输出,有时为空,没有输出)

来自分类Dev

Node.js:如何将参数的值从终端传递到JS脚本

来自分类Dev

Node.js:如何将JS变量的值从脚本传递到终端?

来自分类Dev

Node.js:如何将参数的值从终端传递到JS脚本

来自分类Dev

Node.js:如何将JS变量的值从脚本传递到终端?

来自分类Dev

如何将Node.js请求路由到另一个Node.js应用程序?

来自分类Dev

node.js:将请求路由到同一主机上的不同端口

来自分类Dev

Node.js请求库-将text / xml发布到正文?

来自分类Dev

将请求库导入到node.js上的AWS Lambda中

来自分类Dev

Node.js请求库-将text / xml发布到正文吗?

Related 相关文章

  1. 1

    Node.js中的Hash_hmac等效项

  2. 2

    在Node.js中实现来自Cakephp的Security :: Hash

  3. 3

    将Chef属性转换为Yaml时文件中包含的ruby / hash:Chef :: Node :: ImmutableMash

  4. 4

    将请求发布到node.js服务导致超时

  5. 5

    将请求发布到node.js服务导致超时

  6. 6

    将变量从JavaScript传递到Node.js

  7. 7

    将数组从node.js / express传递到Jade模板

  8. 8

    Node.js-将值传递到其他页面

  9. 9

    Node js,将pdfkit传递到内存流

  10. 10

    将变量从node.js传递到html

  11. 11

    Node.js-将值传递到其他页面

  12. 12

    将数组从node.js / express传递到Jade模板

  13. 13

    将Web令牌从后端传递到前端(从Node.js + Express传递到AngularJS)

  14. 14

    将请求发布到Node-http-proxy Node.js时发生套接字挂断

  15. 15

    将数据从Node.js传递到NWJS中的angular的正确方法(node-webkit)

  16. 16

    从 Node js 到 Django 的 Json 请求

  17. 17

    在 Node js 中 Rest Api 请求(curl 到 Node.js,python 到 Node.js)

  18. 18

    将cookie作为node.js请求的一部分传递

  19. 19

    如何将json传递给Node.js请求发布方法?

  20. 20

    node.js:将列表从节点 js 代码传递到 hbs html 页面并不总是有效(有时给我输出,有时为空,没有输出)

  21. 21

    Node.js:如何将参数的值从终端传递到JS脚本

  22. 22

    Node.js:如何将JS变量的值从脚本传递到终端?

  23. 23

    Node.js:如何将参数的值从终端传递到JS脚本

  24. 24

    Node.js:如何将JS变量的值从脚本传递到终端?

  25. 25

    如何将Node.js请求路由到另一个Node.js应用程序?

  26. 26

    node.js:将请求路由到同一主机上的不同端口

  27. 27

    Node.js请求库-将text / xml发布到正文?

  28. 28

    将请求库导入到node.js上的AWS Lambda中

  29. 29

    Node.js请求库-将text / xml发布到正文吗?

热门标签

归档