Можно ли рассчитать хеши sha256 в браузере, используя видеокарту пользователя, например.с помощью WebGL или Flash? - PullRequest
9 голосов
/ 18 июня 2011

Можно ли рассчитать хеши sha256 в браузере, используя видеокарту пользователя, например. с помощью WebGL или Flash?

Боюсь, это все, о чем можно спросить, но, если требуется дополнительная проработка, пожалуйста, не стесняйтесь, сообщите мне в комментарии.

Спасибо.

Ответы [ 3 ]

6 голосов
/ 28 июня 2011

Это должно быть возможно.Учитывая реализацию SHA в качестве фрагментного шейдера, вы должны иметь возможность считывать результаты, используя readPixels:

Read Back Pixels [5.13.12] Пиксели в текущем кадровом буфере можно считывать обратно вОбъект ArrayBufferView.

void readPixels (int x, int y, длинная ширина, длинная высота, формат перечисления, тип перечисления, пиксели объекта)

формат: RGBA

тип:UNSIGNED_BYTE

Из справочной карты Kronos WebGL (PDF)

Для дополнительного кредита сделайте все это в закадровом кадровом буфере, как описано здесь .

0 голосов
/ 25 апреля 2019

Похоже, это можно сделать (хотя в данном случае это не SHA256). Ниже приведен пример библиотеки JavaScript, которая использует WebGL2 для вычисления значений хеш-функции на стороне клиента для алгоритма хеширования Curl: https://github.com/iotaledger/curl.lib.js/

В этом случае он используется для выполнения Proof of Work для транзакции IOTA (https://www.iota.org/get-started/what-is-iota).) В основном это сводится к случайному вводу грубых входных данных в одну и ту же хэш-функцию до тех пор, пока результат не совпадет с определенным выходом. Скорость хэширования с использованием WebGL очень актуальна. Я использовал его, и он работает!

0 голосов
/ 20 июня 2011

Следующая версия проигрывателя Flash Player (11) будет поддерживать графику с аппаратным ускорением, предоставляя возможность запуска пиксельных шейдеров на графической карте.По крайней мере, теоретически они могут быть использованы для вычислений общего назначения.

В блоге Thibault Imberts есть несколько примеров .

...