Ошибка dataSha256: 32 byte buffer requred, eosjs-ecc. Как решить? Есть функицияconst data = ecc.sha256(value)
return ecc.signHash(data, key, 'base64'))
В итоге получаю Error: dataSha256: 32 byte buffer requred
at Function.push../node_modules/eosjs-ecc/lib/signature.js.Signature.signHash (signature.js:239)
at Object.signHash (api_common.js:136)
at createSign (KeyUtils.ts:27)
at AuthService.ts:12
Есть известная команда Buffer.alloc(32, 0), как их связать?

6 Фев 2021 в 19:48
157 +1
0
Ответы
1

Для решения проблемы "dataSha256: 32 byte buffer required" измените способ создания хэша data используя Buffer.alloc(32, 0). Вот пример кода, как это можно сделать:

const ecc = require('eosjs-ecc');
const value = 'your_data_here';
const data = Buffer.alloc(32, 0);
data.write(value);
const privateKey = 'your_private_key_here';
const signature = ecc.signHash(data, privateKey, 'base64');
console.log(signature);

Этот код создаст 32-байтный буфер data с заполненными нулями, а затем подпишет его с использованием приватного ключа privateKey. Надеюсь, это поможет вам решить проблему.

17 Апр 2024 в 21:01
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир