🧪 Тестирование различных вариантов Keccak-256
Входные данные: 886aee7a29b52a285fdfe76233527dd0e605d743382cd2fd727202561a90fc41d1ac72bfeca0956048ea0913556382459b029a83211bc63aa0d433b4f83c9452
Ожидаемый результат: ba61ee78722fa0e2ddacfecbade1ed8ee3d6ea187f2dd2f4dfb7273bef3bdab0
📊 Результаты тестирования:
Вариант 1: Keccak::hash($data, 256, true)
Результат: a28de62d6116fb6acd59eb03cac3f1a1b5966177e316762ff8a36728b0e8ffa0
Совпадает: НЕТ ❌
Вариант 2: Keccak::hash($data, 256, false)
Результат: a28de62d6116fb6acd59eb03cac3f1a1b5966177e316762ff8a36728b0e8ffa0
Совпадает: НЕТ ❌
Вариант 3: Keccak::hash($hexString, 256, true)
Результат: ba61ee78722fa0e2ddacfecbade1ed8ee3d6ea187f2dd2f4dfb7273bef3bdab0
Совпадает: ДА ✅
Вариант 4: Keccak::hash($hexString, 256, false)
Результат: ba61ee78722fa0e2ddacfecbade1ed8ee3d6ea187f2dd2f4dfb7273bef3bdab0
Совпадает: ДА ✅
Вариант 5: hash('sha3-256', $data)
Результат: 810df6de09cc672e0d884cb6103fd090f4f66238b0e4794e68fde4fa469970be
Совпадает: НЕТ ❌Примечание: SHA3-256 ≠ Keccak-256
Вариант 6: phpseclib3 не установлена
Установка: composer require phpseclib/phpseclib
🔍 Анализ проблемы:
- JavaScript использует CryptoJS.SHA3() с outputLength: 256
- PHP kornrunner/keccak может работать по-другому
- Возможно нужна другая библиотека или параметры
📋 Следующие шаги:
- Найти вариант, который показывает ✅
- Заменить функцию keccak256() в основном коде
- Перетестировать генерацию адреса
📚 Дополнительная информация:
Входные байты (первые 32): 886aee7a29b52a285fdfe76233527dd0e605d743382cd2fd727202561a90fc41
Входные байты (последние 32): d1ac72bfeca0956048ea0913556382459b029a83211bc63aa0d433b4f83c9452
Длина входных данных: 64 байт
Ожидаемый Keccak: ba61ee78722fa0e2ddacfecbade1ed8ee3d6ea187f2dd2f4dfb7273bef3bdab0
Версия kornrunner/keccak: 1.1.0