Я недавно написал JS-реализацию этого алгоритма.Исходный код доступен здесь: blake512.js .
Единственная глобальная функция называется "blake512" и принимает 3 параметра ... сообщение в хэш (которое оно обрабатывает как UCS-Двоичная строка в 2-х кодах), необязательная 16-символьная соль (кодируется так же, как сообщение) и логическое значение, указывающее, хотите ли вы выводить в шестнадцатеричных символах или просто в виде двоичной последовательности, закодированной таким же образом, что и сообщение.
1006 * например
blake512("\u0000", null, true);
возвращает кодирование двоичной последовательности: 0000000000000000, используя соль 000 ... 000 в шестнадцатеричной, а именно:. 0CD686174DC1451DCF2E54BCD55B868BF84F54E4F6454AFD599ABD0F3361FB85F09DDA2C7C6CB9A97FA6DCA2ED8068C8E8A69B66C4F8BD819CBFD5A0BD9D8E7C
1011 * Существуетсообщение в блоге, которое описывает, как реализация работает здесь:
http://blog.scottlogic.com/2012/02/29/blake-512-in-javascript.html.