Ошибка 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
114 +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 Апр в 21:01
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 260 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир