Переключить кнопку, изменяя другой идентификатор

Вы смешиваете две разные формы заполнения. Это то, что вызывает несоответствие. Это не просто различие Base64 / hex.

Ваш открытый текст равен 12 байтам: «sifrelenecek», закодированный как:

[115, 105, 102, 114, 101, 108, 101, 110, 101, 99, 101, 107]

Если вы накладываете открытый текст на ZEROES, как очевидно Delphi и, как указано в mcrypt_encrypt, вы шифруете:

[115, 105, 102, 114, 101, 108, 101, 110, 101, 99, 101, 107, 0, 0, 0, 0]

Полученный в результате шифрованный текст ++ SkQF1sG1RQPZshPkGuVg == в Base64, который при декодировании на простые байты и перекодировке в шестнадцатеричном формате, становится «FBE4A4405D6C1B54503D9B213E41AE56» - то, что возвращается онлайн-инструменту.

Но если вы набиваете открытый текст с помощью дополнения PKCS # 7, как и в вашем PHP-коде выше:

$pad = $block - (strlen($str) % $block);
$str .= str_repeat(chr($pad), $pad);

, тогда этот открытый текст заполняется ЧЕТЫРЕ, и вы шифруете:

[115, 105, 102, 114, 101, 108, 101, 110, 101, 99, 101, 107, 4, 4, 4, 4]

Получившийся зашифрованный текст + wL2yf + 72thixicjw0duQA == - только то, что вы показываете выше в своем вопросе.

Любая панель с обеих сторон с ZEROES или панель с обеих сторон с PKCS # 7, и ваши результаты должны совпадать.

0
задан HaveNoDisplayName 25 February 2015 в 14:14
поделиться