10

是否可以使用用户的视频卡在浏览器中计算 sha256 哈希,例如。通过使用 WebGL 还是 Flash?

恐怕这就是要问的全部内容,但是如果需要更多详细说明,请随时在评论中告诉我。

谢谢。

4

3 回答 3

7

这应该是可能的。给定 SHA 作为片段着色器的实现,您应该能够使用 readPixels 读回结果:

回读像素 [5.13.12] 当前帧缓冲区中的像素可以被回读到 ArrayBufferView 对象中。

void readPixels(int x,int y,长宽,长高,枚举格式,枚举类型,对象像素)

格式:RGBA

类型:UNSIGNED_BYTE

来自 Kronos WebGL参考卡(PDF)

为了获得额外的功劳,请在屏幕外帧缓冲区中完成所有操作,如此所述。

于 2011-06-28T18:30:01.137 回答
1

看起来可以这样做(尽管在这种情况下它不是 SHA256)。以下是使用 WebGL2 在客户端计算哈希值的 JavaScript 库示例,用于 Curl 哈希算法: https ://github.com/iotaledger/curl.lib.js/

在这种情况下,它用于为 IOTA 交易(https://www.iota.org/get-started/what-is-iota)做工作证明。这基本上归结为对同一哈希函数的随机输入进行暴力破解,直到结果与某个输出匹配。因此,使用 WebGL 获得的散列速度非常重要。我用过,效果很好!

于 2019-04-25T14:10:04.427 回答
0

Flash 播放器的下一个版本 (11) 将支持真正的硬件加速图形,从而揭示了在图形卡上运行像素着色器的可能性。它们至少在理论上可以用于通用计算。

Thibault Imberts 博客上有一些示例。

于 2011-06-20T15:06:57.373 回答