DES ECB шифрование с переполнением стека

https://www.tools4noobs.com/online_tools/encrypt/ выдает «a67a318c98a0307502ba81caade2f3a9» в качестве результата DES ECB для ключа «1234567890abcdef», а полезная нагрузка «шифрует это».

Код PHP

echo bin2hex(mcrypt_encrypt(
MCRYPT_DES,
hex2bin("1234567890abcdef"),
"encrypt this",
MCRYPT_MODE_ECB)) . "\n";

распечатывает «1a29ee87f2ad67644ff28450c676a664».

Что не так с кодом?

3

Решение

noobs4tools сайт удаляет hex2bin функция и усекает длину ключа до 8 символов (как Йоши заявил в комментариях).

С размером ключа 12345678 вывод как веб-сайта, так и PHP-кода согласован.

Размер ключа DES указан в руководстве как 56 бит. Прочитайте ниже некоторую полезную информацию о конкретных размерах ключей DES.

Как мне создать ключ DES? Почему 7-символьная строка не достаточно?

Ключ, используемый noobs4tools Веб-сайт:

"12345678"

Ключ Используется вашим кодом:

 hex2bin("1234567890abcdef"); // 4Vx����

Эта разница дает вам разные результаты.

Таким образом, сайт не переводит ключ в любой другой номер или форму данных. Ожидается, что вы предоставите уже правильно отформатированное значение в скрипте страницы.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]