Я пытаюсь правильно подписать метод аутентификации с помощью функции signPersonalMessage в web3. Однако пакет eth-sig-util, который правильно проверяет подлинность, не создает тот же хэш с теми же данными, что и SHA3-256 и Keccak-256.
Например, если я попытаюсь хэшировать:
0x664f5f32784d335a69596e4f416c636373496859377054744f704c6e54666a314c70314a4f364d565f4638
Мой результат с Keccak256:
5dc2751b78fdb82a0986ad2a8e6cc774458d7a096e8eafd3ab6937146b7d2eec
Мой результат с SHA3-256:
6fa399a29899ebab112d562526b9b735f0cf7ce4bdc5a96edfcc48572b8d3e7b
Мой результат с библиотечной функцией Sha3:
40de9eb1ead6a6299af30cdf51eca39d44be214ce7431c93ff546cf5fb1ef0fb
Это единственная проблема, о которой я могу думать, я также часто сталкивался с ошибкой «Неверная длина v» или «Недопустимая длина подписи», когда пытался подписать и подтвердить подлинность с Keccak.