Шифрование в PHP MCRYPT_RIJNDAEL_256 из Python - PullRequest
0 голосов
/ 10 мая 2018

Я делаю запрос к PHP API, который использует

mcrypt_decrypt(MCRYPT_RIJNDAEL_256, __KEY__, json_encode(__VALUE_OBJECT__), MCRYPT_MODE_ECB);

Между тем, чтобы зашифровать текст, в Python у меня есть:

action = json.dumps({'test': 'value'})
action_padded = action + ('\0' * (16 - len(action) % 16))
aes = AES.new(__KEY__, AES.MODE_ECB)
aes.block_size = 256
encrypted = aes.encrypt(action_padded)

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

Также, читая некоторые темы о режиме mcrypt ECB, он не требует заполнения, но я не уверен в этом. Прямо сейчас я просто делаю NULL-заполнение.

Стоит отметить, что я не являюсь владельцем API и не могу его изменить. Поэтому я должен адаптировать то, что использует PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...